2013-12-11 2 views
1

Я пытаюсь удалить сообщения с post_parent со страницы шаблона на моем сайте. Я был в состоянии держать их отображение в цикле с:Удаление сообщений с родителем из цикла

if (have_posts()) : while (have_posts()) : the_post(); 
    if (($post->post_parent)) { 
     continue; 
    } else { 
     //code to display post 
    } 

Проблема заключается в том, что разбиение на страницы по-прежнему появляться на страницах, потому что все еще больше сообщений в запросе, чем мои посты на каждой странице. Это вызывает много пустых страниц в разбивке на страницы.

Я пробовал вариацию:

function exclude_children($query) { 
      $query->set('post_parent', 0); 
    } 
    add_action('pre_get_posts', 'exclude_children'); 

И:

$where .= ' AND post_parent = 0'; 

Перед тем как query_posts команды() в моем шаблоне контура без толка.

ответ

0

Попробуйте this:

$query = new WP_Query('post_parent=0'); //Display only top-level pages, exclude all child pages: 
+0

Так шаблон страницы я использую уже с помощью запроса (захватывая все таможенного поста «Продукт» из определенной категории). Я попытался использовать array_merge, но он, похоже, ничего не делает: '' 'array_merge ($ wp_query-> query, array ('post_parent' => 0));' '' –

+0

@ OrthoClassic-Chris, вам не следует объединять массивы, это не хорошо для вас (esspessilay так, как вы это делаете сейчас). Вы должны вставить '' post_parent = 0'' в свои существующие аргументы запроса. – s976

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