MikeSchinkel
  • 0
Гуру

Использовать переменные соединения/пересечения query_posts в форме параметра запроса uri?

  • 0

Обычно, когда я создаю какую-либо форму запроса, я использую массив для своих аргументов, например:

$postslistArgs = массив(
    'child_of' => 320,
    'родительский' => 320
);                          
$postslist = get_pages($postslistArgs);

Однако бывают и другие случаи, когда мне нужно/хочу использовать параметры запроса в стиле URI, например:

get_pages('child_of=320&parent=320');

Это все просто, но возможно ли каким-либо образом использовать стиль параметра URI в более сложных запросах на объединение/пересечение, например post__not_in, требующих массива идентификаторов?

Share
  1. WP_Query использует нативную parse_str функцию PHP, которая использует следующую структуру для обозначения массивов:

    'post__not_in[]=1&post__not_in[]=2&post__not_in[]=3'
    

    такой же как

    array(
      'post__not_in' => array( 1,2,3 )
    )
    
    • 0
    • Вау, никогда не знал, что это возможно. Думал, что некоторые вещи предназначены только для массивов.

      • 0
    • Да, следует отметить, что это будет работать только для значений, для которых класс WordPress WP будет принимать массив. Так, например, даже если вы можете передать массив типов сообщений в WP_Query, вы не можете отправить массив типов сообщений через URL-адрес; WordPress не понимает запрос, так как WP ожидает только строковое значение. Я думаю, что есть патч, который исправляет это в 3.1, хотя мне нужно дважды проверить это.

      • 0

Оставить ответ

You must login to add an answer.