Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przekaż identyfikatory do zapytania pre_get_posts w funkcji

Chyba masz problem z PHP. Kiedy robisz array($results_separated) w zasadzie tworzysz tablicę z ciągu, który wygląda tak:"12,114,56," . W ten sposób PHP tworzy tablicę w ten sposób:

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

I oczywiście WordPress nie może znaleźć żadnych postów z takim identyfikatorem! To, czego potrzebujesz, to w rzeczywistości tablica taka:

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

A właściwie to właśnie get_col() zwraca, więc wystarczy przekazać $results do set() funkcja:

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

EDYTUJ :Właściwie zdałem sobie sprawę, że twój problem polega na wywołaniu $wpdb->get_col(...) , ponieważ koliduje z $query wykonasz później... Te zmienne używają innych zmiennych globalnych, które prawdopodobnie zostaną nadpisane i dlatego nie otrzymujesz żadnych wyników...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wybrać pojedynczy wiersz na podstawie maksymalnej wartości w wielu wierszach?

  2. Jak długo mysql_connect pozostaje otwarty?

  3. Zostaw dołączanie, sumowanie i liczenie grup według

  4. MySQL - Jak wybrać minimum I maksimum w jednym zapytaniu (UNION)

  5. Czy dobrym pomysłem jest używanie Hibernate do reprezentowania relacji tabel?