Как получить пользовательский запрос, работающий в Wordpress? - PullRequest
0 голосов
/ 27 июля 2011

Я пытаюсь получить страницу для отображения пользовательского запроса, используя фрагмент, размещенный здесь .В моем functions.php содержится следующее:

function alter_the_query($request) {
    $dummy_query = new WP_Query();
    $dummy_query->parse_query($request);
    // this is the actual manipulation
    if($dummy_query->is_page('blog')) $request['category_name'] = 'Blog';
    // and then
    return $request;
}
add_filter('request','alter_the_query');

На странице под названием «Блог» есть базовый цикл внутри, поэтому он должен отображать все, что WP_Query говорит ему.Тем не менее, он отображает только содержимое страницы, которое должно было быть проигнорировано.

Я не могу найти ссылку, объясняющую свойства объекта $request, поэтому я не уверен, что яследует сделать, чтобы этот фрагмент работал.Есть идеи?

1 Ответ

0 голосов
/ 27 июля 2011

Полагаю, это происходит потому, что вы не изменили значение $ request ['pagename'], поэтому wp попытается загрузить контент для этих страниц.

Обновление должно работать для вас

function alter_the_query($request) {
    $dummy_query = new WP_Query();
    $dummy_query->parse_query($request);
    // this is the actual manipulation
    if($dummy_query->is_page('blog')) {
      $request['category_name'] = 'Blog';
      unset($request['pagename']);
    }
    // and then
    return $request;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...