Tôi đoán bạn thực sự có một vấn đề PHP. Khi bạn thực hiện array($results_separated)
về cơ bản bạn đang tạo một mảng từ một chuỗi trông giống như sau:"12,114,56,"
. Bằng cách đó, PHP đang tạo một mảng như thế này:
array(
0 => "12,114,56,"
)
Và rõ ràng là WordPress không thể tìm thấy bất kỳ bài đăng nào có ID như vậy! Những gì bạn muốn thực sự là một mảng như thế này:
array(
0 => "12",
1 => "114",
2 => "56"
)
Và thực ra đó là những gì get_col()
trả về, vì vậy bạn chỉ cần chuyển $results
thành set()
chức năng:
$query->set ( 'post__in', $results );
CHỈNH SỬA :Thực ra tôi nhận ra rằng vấn đề của bạn là khi bạn gọi $wpdb->get_col(...)
, bởi vì nó can thiệp vào $query
bạn sẽ thực thi sau này ... Các biến đó đang sử dụng một số biến toàn cục khác có thể bị ghi đè và đó là lý do tại sao bạn không nhận được bất kỳ kết quả nào ...