Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chuyển các ID đến truy vấn pre_get_posts trong hàm

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 ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Google Maps Lưu đa giác và các điểm trong MySQL bằng PHP

  2. Không thể chèn giá trị cột đơn trong python bằng MySQL

  3. Truy xuất dữ liệu với cấu trúc phân cấp trong MySQL

  4. Cách kiểm tra kích thước cơ sở dữ liệu MySQL trong Linux

  5. Đặt lại con trỏ mảng trong kết quả PDO