Поддержка Проблемы и решения Как отобразить дочерние рубрики на страницах рубрик?

  • Подсказали такую функцию которая убирает посты доречних рубрик.

    function no_children( $query ) {
        if ( ! is_admin() && $query->is_main_query() && $query->is_category() )
            $query->set( 'category__in', array( get_queried_object_id() ) );
    }
    add_action( 'pre_get_posts', 'no_children' );

    А как при этом добавить дочерние рубрики?

Просмотр 15 ответов — с 16 по 30 (всего 35)
  • вот тут потом еще по месту подредактируйте

    <style>
    .nawi li {
        width: 221px;
        background: #245594;
        margin: 2px;
        padding:  2px 6px;
        list-style: none;
        }
    .nawi a{
     color: #fff;
        text-decoration: none;
    }
    </style>

    удобнее воспользоваться инспектором разработки в браузере, редактируете css и все изменения сразу видны, только потом нужно скопировать, то что получилось и заменить вышеприведенный код.

    Автор selftrips-ru

    (@selftrips-ru)

    1. Что за плагин и причем здесь виджеты не понял.
    2.вставил непосредственно в Шаблон рубрик (category.php)
    между строк
    </header>
    и
    <?php /* Start the Loop */ ?>
    3.подредактировал (это для себя пишу)

    <style>
    .nawi li {
    width: 301px;
    padding: 0px 6px;
    list-style: none;
    }
    .nawi a{
    color: #245594;
    text-decoration: none;
    }
    </style>

    4 !! Основная проблема. Я использую плагин для исключения вывода постов дочерних рубрик (ну чтобы вид был как в файловом браузере). Так вот если в рубрики нет постов, но есть подрубрики с постами, то ничего не выводит, пишет что ничего не найдено!!!

    Как можно решить эту проблему?
    5. Если 4 удастся решить для полной красоты хотелось бы получить перед каждой подрубрикой иконку папки, а после в круглых скобках количество постов. Это возможно?
    Спасибо за помощь.

    Я использую плагин для исключения вывода постов дочерних рубрик (ну чтобы вид был как в файловом браузере). Так вот если в рубрики нет постов, но есть подрубрики с постами, то ничего не выводит, пишет что ничего не найдено!!!

    И это абсолютно правильно, так как соответствует элементарной логике:

    Если в рубрике нет постов и в ней также нет дочерней рубрики с её постами — то что собственно можно вывести?! ))))

    Это называется искать черную кошку в темной комнате, заведомо зная что кошки там нет….

    Автор selftrips-ru

    (@selftrips-ru)

    наверное вы не совсем внимательно прочитали

    но есть подрубрики с постами

    т.е. ситуация
    cat1
    -cat2
    —post1
    —post2
    -cat3
    —post3
    —post4

    при переходе в cat1 не вводится ничего!!

    Автор selftrips-ru

    (@selftrips-ru)

    Если я правильно понимаю надо изменить код

    <article id="post-0" class="post no-results not-found">
    					<header class="entry-header">
    						<h1 class="entry-title"><?php _e( 'Nothing Found', 'tempera' ); ?></h1>
    					</header><!-- .entry-header -->
    
    					<div class="entry-content">
    						<p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'tempera' ); ?></p>
    						<?php get_search_form(); ?>
    					</div><!-- .entry-content -->
    				</article><!-- #post-0 -->

    так чтобы еще выполнялась проверка наличия подрубрик.
    Как это можно сделать?
    Спасибо за помощь.

    Автор selftrips-ru

    (@selftrips-ru)

    Может в коде подрубрик завести какую нибудь переменную, которая присваивать 1 если имеются подрубрики, а код отсутствия постов вставить в проверку этой переменной , если она равна 1, то код просто обходится мимо?

    Оффтоп.

    Посмотрел Ваш сайт внимательно, зря Вы все записи сразу загружаете в левом блоке категорий «Зписи из путешесвий по странам, путешествиям и тд» , при чем они дублируются 2 раза, еще и в блоке «Записи по датам».

    Если хотите выводить в таком же формате, то лучше используйте с аяксом(только не помню как плагин называется, но знаю, что видел)

    По теме

    Я использую плагин для исключения вывода постов дочерних рубрик

    если в рубрики нет постов, но есть подрубрики с постами, то ничего не выводит

    ну Вы же используете «плагин для исключения вывода постов дочерних рубрик», что там хотите увидеть тогда?

    qwert555!
    Я утром объяснил автору этого обсуждения тоже самое. Но он упорно не хочет этого понять. из за чего уже не первый день топчется на одном и том же месте:

    Если в рубрике нет постов и в ней также нет дочерней рубрики с её постами — то что собственно можно вывести?! ))))

    Это называется искать черную кошку в темной комнате, заведомо зная что кошки там нет….

    Автор selftrips-ru

    (@selftrips-ru)

    2 qwert555, Как что? так же и в файловом браузере — только подрубрики (1го уровня) без каких либо постов!

    Автор selftrips-ru

    (@selftrips-ru)

    ря Вы все записи сразу загружаете в левом блоке категорий «Зписи из путешесвий по странам, путешествиям и тд» , при чем они дублируются 2 раза, еще и в блоке «Записи по датам».

    Кэширование (и на уровне виджета категорий и на уровне всего сайта суперкэш)не «спасает» ситуацию?
    Ну т.е. коенчно хорошо бы чтобы одинаковая информация не перегружалась каждый раз… но как это сделать? посмотрел по ключевых словам ajax и sidebar — ничего подходящего вроде не нашел((

    А как можно «не все записи сразу загружать»?

    Автор selftrips-ru

    (@selftrips-ru)

    2 qwert555, а как модифицировать вам код, чтобы непосредственно указывать категорию? (Для вывода в произвольном месте списка подрубрик некой рубрики)

    Автор selftrips-ru

    (@selftrips-ru)

    Мне помогли реализовать.

    <?php
    /**
    * The template for displaying Category Archive pages.
    *
    * @package Cryout Creations
    * @subpackage Tempera
    * @since Tempera 1.0
    */

    get_header(); ?>

    <section id=»container» class=»<?php echo tempera_get_layout_class(); ?>»>
    <div id=»content» role=»main»>
    <?php cryout_before_content_hook(); ?>

    <?php if ( have_posts() ) : ?>

    <header class=»page-header»>
    <h1 class=»page-title»><?php
    printf( __( ‘Category Archives: %s’, ‘tempera’ ), ‘<span>’ . single_cat_title( », false ) . ‘</span>’ );
    ?></h1>

    <?php
    $category_description = category_description();
    if ( ! empty( $category_description ) )
    echo apply_filters( ‘category_archive_meta’, ‘<div class=»category-archive-meta»>’ . $category_description . ‘</div>’ );
    ?>
    </header>
    <style>
    .nawi li {
    width: 301px;
    padding: 0px 6px;
    list-style: none;
    }
    .nawi a{
    color: #245594;
    text-decoration: none;
    }
    </style>

    <ul class=»nawi»>
    <?php
    $args=array(
    ‘parent’ => get_query_var(‘cat’),
    );
    $news_cats = get_categories($args);
    foreach ($news_cats as $news_cat):
    echo ‘

    • term_id ).'» >’ . esc_html($news_cat->name).’
    • ‘;
      endforeach; ?>

      <?php /* Start the Loop */ ?>
      <?php while ( have_posts() ) : the_post(); ?>

      <?php
      /* Include the Post-Format-specific template for the content.
      * If you want to overload this in a child theme then include a file
      * called content-___.php (where ___ is the Post Format name) and that will be used instead.
      */
      get_template_part( ‘content/content’, get_post_format() );
      ?>

      <?php endwhile; ?>

      <?php if($tempera_pagination==»Enable») tempera_pagination(); else tempera_content_nav( ‘nav-below’ ); ?>

      <?php else : ?>


      <style>
      .nawi li {
      width: 301px;
      padding: 0px 6px;
      list-style: none;
      }
      .nawi a{
      color: #245594;
      text-decoration: none;
      }
      </style>

      <ul class=»nawi»>
      <?php
      $args=array(
      ‘parent’ => get_query_var(‘cat’),
      );
      $news_cats = get_categories($args);
      foreach ($news_cats as $news_cat):
      echo ‘

    • term_id ).'» >’ . esc_html($news_cat->name).’
    • ‘;
      endforeach; ?>

      <?php if(!$news_cats) : ?>

      <article id=»post-0″ class=»post no-results not-found»>
      <header class=»entry-header»>
      <h1 class=»entry-title»><?php _e( ‘Nothing Found’, ‘tempera’ ); ?></h1>
      </header><!— .entry-header —>

      <div class=»entry-content»>
      <p><?php _e( ‘Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.’, ‘tempera’ ); ?></p>
      <?php get_search_form(); ?>
      </div><!— .entry-content —>
      </article><!— #post-0 —>
      <?php endif; ?>
      <?php endif; ?>

      <?php cryout_after_content_hook(); ?>
      </div><!— #content —>
      <?php tempera_get_sidebar(); ?>
      </section><!— #primary —>

      <?php get_footer(); ?>

    Выделенным то что я добавил. Наверное коряво, так как пришлось код 2 раза писать. Ну да ладно.

    Вопрос Как к каждой дочерней рубрике добавить сбоку в скобках
    количество постов в ней и всех ее дочерних рубриках?
    что то типа такого

    cat1(10)

    Автор selftrips-ru

    (@selftrips-ru)

    http://selftrips.ru/category/1-chasti-sveta-i-strany/europa
    здесь можно посмотреть как это выглядит в жизни.

    echo '<li><a href="'.get_category_link( $news_cat->term_id ).'" >' . esc_html($news_cat->name).'('.$news_cat->count.')</a></li>';

    http://selftrips.ru/category/1-chasti-sveta-i-strany/europa
    здесь можно посмотреть как это выглядит в жизни.

    не видно изменений

Просмотр 15 ответов — с 16 по 30 (всего 35)
  • Тема «Как отобразить дочерние рубрики на страницах рубрик?» закрыта для новых ответов.