• Добрый день.
    Помогите пожалуйста. Есть вот такой вот код

    <?php
    				if ( have_posts() ) : query_posts('cat=4');
    				  while (have_posts()) : the_post();
    				?>
    				<?php responsive_entry_before(); ?>
    				<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    					<?php responsive_entry_top(); ?>
    
    					<?php get_template_part( 'post-meta', get_post_type() ); ?>
    
    					<div class="post-entry">
    						<?php if ( has_post_thumbnail() ) : ?>
    							<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
    								<?php the_post_thumbnail(); ?>
    							</a>
    						<?php endif; ?>
    						<?php the_excerpt(); ?>
    						<?php wp_link_pages( array( 'before' => '<div class="pagination">' . __( 'Pages:', 'responsive' ), 'after' => '</div>' ) ); ?>
    					</div><!-- end of .post-entry -->
    
    					<?php responsive_entry_bottom(); ?>
    				</div><!-- end of #post-<?php the_ID(); ?> -->
    				<?php
    					endwhile;
    					endif;
    					wp_reset_query();
    				?>

    Нужно переделать так, чтобы выводились все записи КРОМЕ query_posts('cat=4');
    как нужно изменить соответствующий код?

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • В файл function.php добавляем такой фрагмент:

    function exclude_category($query) {
     if ($query->is_home){
     $query->set('cat','-2, -24');}
     return $query; }
    add_filter('pre_get_posts','exclude_category')

    где -2 и -24 — ID категорий которые нужно исключить из показа на главной.
    Есть более «продвинутый» вариант — плагин Simply Exclude Очень ценный плагин! Он имеет очень тонкие настройки вывода постов.

    Спасибо за советы. Плагин пока ставить не буду. Все же охота самому поковырять.

    Попробовал ваш вариант. Но мне надо не Home Page. Мне надо на другой странице это правило. Попробовал вот так

    function exclude_category($query) {
    		if ($query->is_page('66')){
    			$query->set('cat','-4');}
    			return $query; }
    	add_filter('pre_get_posts','exclude_category')

    Но мне выдало пустой экран. Что я не так сделал?

    Мне надо на другой странице это правило.

    У вас страницы используются для вывода категорий? Или для эмуляции пагинации? Кто же вам так блог поломал-то? 😀

    Но мне выдало пустой экран.

    Пустой экран, в большинстве случаев, — это совпадение двух факторов:
    — отключен вывод ошибок на экран
    — фатальная ошибка
    Ошибка в синтаксисе, например, достаточный фактор для ухода интерпретатора в мир иной.

    Но мне надо не Home Page

    Тогда только Simply Exclude и не морочьте себе голову.))) Не надо придумывать то, что придумано до нас.

    Я когда то тоже много времени потерял над решением подобной проблемы и много интересного.
    Подробности

    Модератор Юрій

    (@yube)

    query_posts('cat=4'); — выбрать посты только из рубрики 4.
    query_posts('cat=-4'); — выбрать посты, кроме тех, что в рубрике 4.

    Модератор Юрій

    (@yube)

    p.s. между прочим, «как исключить рубрику» есть в FAQ.

    @Юрий, Вот спасибо добрый человек! Вот это я понимаю помощь! просто и элегантно.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «вывод всех записей КРОМЕ определенной категории» закрыта для новых ответов.