Обычно, когда я создаю какую-либо форму запроса, я использую массив для своих аргументов, например:
$postslistArgs = массив( 'child_of' => 320, 'родительский' => 320 ); $postslist = get_pages($postslistArgs);
Однако бывают и другие случаи, когда мне нужно/хочу использовать параметры запроса в стиле URI, например:
get_pages('child_of=320&parent=320');
Это все просто, но возможно ли каким-либо образом использовать стиль параметра URI в более сложных запросах на объединение/пересечение, например post__not_in
, требующих массива идентификаторов?
WP_Query использует нативную
parse_str
функцию PHP, которая использует следующую структуру для обозначения массивов:такой же как
Вау, никогда не знал, что это возможно. Думал, что некоторые вещи предназначены только для массивов.
Да, следует отметить, что это будет работать только для значений, для которых класс WordPress
WP
будет принимать массив. Так, например, даже если вы можете передать массив типов сообщений вWP_Query
, вы не можете отправить массив типов сообщений через URL-адрес; WordPress не понимает запрос, так какWP
ожидает только строковое значение. Я думаю, что есть патч, который исправляет это в 3.1, хотя мне нужно дважды проверить это.