Mysql
 sql >> база данни >  >> RDS >> Mysql

Подайте идентификатори към заявката pre_get_posts във функцията

Предполагам, че всъщност имате проблем с PHP. Когато направите array($results_separated) вие всъщност създавате масив от низ, който изглежда така:"12,114,56," . Правейки това, PHP създава масив като този:

array(
    0 => "12,114,56,"
)

И очевидно WordPress не може да намери никакви публикации с такъв ID! Това, което искате всъщност е масив като този:

array(
    0 => "12",
    1 => "114",
    2 => "56"
)

И всъщност това е, което get_col() връща, така че просто трябва да подадете $results към set() функция:

$query->set ( 'post__in', $results );

РЕДАКТИРАНЕ :Всъщност разбрах, че проблемът ви е, когато извиквате $wpdb->get_col(...) , защото пречи на $query ще изпълните по-късно... Тези променливи използват някои други глобални променливи, които вероятно ще бъдат заменени и затова не получавате никакви резултати...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Има ли начин за кеширане на изглед, така че заявките към него да са бързи?

  2. Mysql списък за избор след конкретен идентификатор

  3. Как да предотвратя инжектирането на sql с php и mysql

  4. Как да напиша нулево безопасно сравнение <=> в чист SQL?

  5. Изчислете средната стойност на колоната от MYSQL заявка