Untitled

 avatar
unknown
php
a year ago
1.5 kB
3
Indexable
<ul class="tags">
    <?php
    $tags = get_terms([
        'taxonomy'   => 'tag-maker',
        'hide_empty' => false,
    ]);

    // Lấy tham số hiện tại từ URL và chuyển đổi chúng thành một mảng
    $selected_tags = isset($_GET['tags-maker']) ? explode(',', $_GET['tags-maker']) : [];

    if (!empty($tags)) {
        foreach ($tags as $tag) {
            // Kiểm tra xem tag hiện tại có trong mảng các tag đã chọn hay không
            $is_selected = in_array($tag->term_id, $selected_tags);
            // Tạo URL mới với hoặc không có tag hiện tại, tùy thuộc vào nó đã được chọn hay chưa
            if ($is_selected) {
                // Nếu tag đã được chọn, loại bỏ nó khỏi URL
                $new_selected_tags = array_diff($selected_tags, [$tag->term_id]);
            } else {
                // Nếu tag chưa được chọn, thêm nó vào URL
                $new_selected_tags = array_merge($selected_tags, [$tag->term_id]);
            }
            // Tạo chuỗi tham số mới từ mảng
            $tags_query = http_build_query(['tags-maker' => implode(',', $new_selected_tags)]);

            // Định dạng lại class cho thẻ <a> nếu tag đang được chọn
            $class = $is_selected ? 'active' : '';
            
            echo '<li><a class="' . $class . '" href="?' . $tags_query . '">' . $tag->name . '</a></li>';
        }
    }
    ?>
</ul>
Leave a Comment