2013-09-26 1 views
0

Я пытаюсь получить все должности в cetegory Повсеместно в WP_Query:

//url whould be www.blablabla.com/?cat=4 
$featured = new WP_Query('cat=$_GET["cat"]'); 

, где кошка является Http GET пары. Это переназначает все сообщения, игнорирующие параметр «cat». Но если я пишу целое значение вместо $ _GET я получить ожидаемый пост, то есть:

//This returns all the post of the category with slug = 4 
$featured = new WP_Query('cat=4'); 

Если я пишу $ _GET [ «кошка»] перед на экране, а затем через 4 появляется. Я полагаю, что WP_Query получает параметр как строку, и это приводит к игнорированию условия, но я пытаюсь вставить в любом случае параметр, но я не могу заставить его работать. Я новичок в Wordpress, поэтому я уверен, что это довольно глупо.

Заранее благодарен!

+1

1. 'echo 'cat = $ _ GET [" cat "]';', 2. http://www.php.net/manual/en/language.types.string.php#language.types.string .parsing – CBroe

ответ

2

Попробуйте

$featured = new WP_Query('cat='.$_GET["cat"]); 

Параметр вы передаете к WP_Query является одной строкой в ​​кавычках. Никакая переменная интерполяция не выполняется для строк с одним кавычком, поэтому вы фактически передаете литеральную строку cat = $ _ GET ["cat"], когда вы хотите передать cat = 4

0

Вы уверены, что $ _GET ["cat "] дает вам ожидаемое значение?

попробовать: $ кот = $ _GET [ «кошка»]; // Вы должны добавить подтверждение здесь var_dump ($ кошка); // просто чтобы проверить, что правильное значение есть, удалить эту линию, когда done $ featured = новый WP_Query ("cat = $ cat");

Смежные вопросы