Как заставить шаблон категории отображать полные сообщения вместо частичных сообщений?


Я использую Wordpress 3.0.1 с темой Двадцать десять. Я пытаюсь изменить способ отображения сообщений в представлении категории (т. Е. Перейдя по URL-адресу, например mywebsite.com/category/mycategory). В настоящее время сообщения в представлении категории показывают только первую часть сообщения, но я хотел бы изменить это, чтобы оно показывало все целиком.

В шаблоне категории (category.php ) файл, есть несколько строк кода, которые выглядят так, как будто они отвечают за создание данные категории:

/* Run the loop for the category page to output the posts.
 * If you want to overload this in a child theme then include a file
 * called loop-category.php and that will be used instead.
 */
get_template_part( 'loop', 'category' );
?>

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

Я вижу из комментариев, что я должен создать файл под названием loop-category.php с моей пользовательской реализацией, но я не знаю, какой код мне нужно поместить в этот файл. Что мне нужно добавить к loop-category.php чтобы отобразить представления категорий с полными сообщениями в блоге?

ПРИМЕЧАНИЕ: Хотя я уже довольно давно использую Wordpress, это мое первое погружение в настройку темы. Любая помощь будет очень признательна.

Author: Community, 2010-09-19

2 answers

@ Бен,

Если вы посмотрите на строку 132 из loop.php в Twentyten вы найдете условное выражение, которое говорит WordPress отображать the_excerpt только в архивах категорий. Прямо под этим после <?php else : ?> будет отображаться все записи, которые не находятся на странице архива, в категории "Сторонние" или в категории "галерея". (Дополнительные разделы и категории галерей предназначены для начала loop.php)

<?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>
            <div class="entry-summary">
                <?php the_excerpt(); ?>
            </div><!-- .entry-summary -->
    <?php else : ?>
            <div class="entry-content">
                <?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
                <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
            </div><!-- .entry-content -->
    <?php endif; ?>

В вашем loop-category.php файл самый простой что нужно сделать, так это скопировать и вставить весь loop.php файл и измените раздел кода выше на:

<?php if ( is_search() ) : // Only display excerpts for archives and search. ?>
            <div class="entry-summary">
                <?php the_excerpt(); ?>
            </div><!-- .entry-summary -->
    <?php else : ?>
            <div class="entry-content">
                <?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
                <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
            </div><!-- .entry-content -->
    <?php endif; ?>

Вы заметите, что мы удалили is_archive только из условного оператора, поэтому теперь архивы категорий будут отображаться с использованием кода после оператора else, который содержит the_content в отличие от the_excerpt.

 7
Author: Chris_O, 2010-09-19 02:33:28

Я только что удалил второй экземпляр "is_archive()||" из loop.php и получил каждый полный пост, чтобы он отображался на странице категории/catslug. Мне не нужно было создавать loop-category.php файл. Я не смог бы этого сделать без инструкций Криса. Спасибо, Крис!!

 1
Author: thepete, 2011-12-01 06:44:17