Tạo Shortcode Danh Sách Dropdown Cho Liên Kết Website Trong WordPress

// Thêm đoạn mã này vào file functions.php của theme hoặc vào một file plugin tùy chỉnh.
function portfolio_dropdown_shortcode_featured_category($atts) {
    ob_start(); // Bắt đầu lưu đầu ra

    // Tham số truy vấn để lấy tất cả các bài viết loại 'sitelinks'
    $args = array(
        'post_type' => 'sitelinks',
        'posts_per_page' => -1,
        // Tham số tax_query bị loại bỏ nhưng có thể thêm lại nếu cần
        /*'tax_query' => array(
            array(
                'taxonomy' => 'featured_item_category',
                'field' => 'slug',
                'terms' => 'lien-ket-website',
            ),
        ),*/
    );

    // Tạo đối tượng WP_Query để lấy các bài viết
    $portfolio_posts = new WP_Query($args);

    if ($portfolio_posts->have_posts()) {
        ?>
        <select id="sitelinks_dropdown" onchange="location.href = this.value;">
            <option value="">--- Liên kết Website ---</option>
            <?php while ($portfolio_posts->have_posts()) : $portfolio_posts->the_post(); ?>
                <option value="<?php echo esc_url(get_the_content()); ?>"><?php echo esc_html(get_the_title()); ?></option>
            <?php endwhile; ?>
        </select>

        <script>
            // Thay đổi hành vi của dropdown khi lựa chọn một liên kết
            document.getElementById('sitelinks_dropdown').onchange = function() {
                var url = this.value;
                if (url) {
                    window.open(url, '_blank'); // Mở liên kết trong tab mới
                    this.selectedIndex = 0; // Đặt lại chỉ mục của dropdown về mặc định
                }
            };
        </script>
        <?php
        wp_reset_postdata(); // Đặt lại dữ liệu bài viết sau khi hoàn thành
    }

    return ob_get_clean(); // Trả về đầu ra đã được lưu
}

add_shortcode('lienketwebsite', 'portfolio_dropdown_shortcode_featured_category'); // Đăng ký shortcode