На днях поступил вопрос о том, как сделать в разделах (архивов) например, рубрик так, чтобы выводились только лишь тайтлы записей – без миниатюр и т.п. составляющей прелести анонса? …или, проще говоря, как убрать со страниц категорий текст анонса и миниатюру, ну и, соответственно, тег more… чтобы отображался только заголовок записи..? так же, возможно, нелишне удалить имя категории в описании статьи, оставив только автора…
Я кое-какие предложил варианты в комментариях, но, как понимаете, подобные вещи в форме комма не пояснить – логичнее написать коротенькую статейку. …пообещал, …и вот, немного покопавшись, предлагаю вариант решения (без плагинов):
К слову: есть такая cms Максайт, там возможность регулировок формирования вывода архивов имеется прямо в админке… ну по крайней мере такая регулировка была) В вордпресс – нет (или я что-то упустил). Да в общем-то такая настройка вряд ли дюже оправдана, ибо настраивается один раз и… сайт живёт.
Также, думается, использование плагина, дабы исключить вывод текста анонса в архивах, также мало оправдано: всё это запросто можно реализовать пару строками кода записанными в файл functions.php и post.php…
выводим в архивах рубрик только тайтл записи
ПАМЯТКА:
…напоминаю всякий раз: заведите какой-то документ «запоминалку» всех совершаемых эксов с блогом. Копируйте редактируемые файлы. Пригодится!
Поверьте: так короче до профессионализма, ибо возможность переварки накопленных крупиц знаний в кашу маловероятна!
…в реализации нам помогут так называемые условные теги, например:
if (is_category())
их достаточно много, однако, сегодня рассмотрим именно is_category
.
напоминаю:
условные теги мы замечательным образом использовали в файле header.php когда организовывали более валидную (по законам seo) конструкцию шапки-логотипа сайта: т.е задавали условия вывода тегам h1 и h2 на главной и второстепенных страницах – читать.
Для того, чтобы в категориях (или тегах) исключить вывод контента анонса и миниатюры, нужно написать свою коротенькую функцию. Ну, например, такую ats_cat_s () в которой и зададим наши условия для страничек архивов. Обусловим, так сказать))
имя функции может быть абсолютно любым, как душе угодно-с ! просто я по привычке пользуюсь везельной маркировкой. Для усугубления чтобы… )
Давайте пропишем на постоянное место жительства в вашем файле функций такую функцию:
/** выводим только тайтлы - без анонса - архивы категорий **/
function ats_cat_s () {
if (!is_category()) {
if(has_post_thumbnail()) {
?>
<div class="featured-image-container"><?php the_post_thumbnail('full'); ?></div><?php
}
?>
<?php
the_content('');
}}
/** фин: выводим только тайтлы - без анонса - архивы категорий **/
Далее, чтобы уже всё что нам требуется выводилось в архиве по новой функции, нужно несколькими штрихами подредактировать активный файл post.php
темы.
Т.е нужно убрать оригинальный кусочек кода и заменить на вот такой вензель:
<?php my_cat_s(); ?>
Так вызывается отработка нашей созданной функции.
(!is_category()) – этим условным тегом обозначим принцип вывода страницы архива (ниже поясню чуть подробнее).
С этим как бы всё! После проделанных манипул… на страничках категорий останутся только тайтлы записей (или заголовки, как угодно).
Вероятно, обратили взор на то, что у меня в код включена функция вывода миниатюры записи (в моём подопытном шаблоне, в файле post.php
, миниатюра выводится именно так) у вас может быть решается как-то иначе – не суть ! но суть в том, что лично вам нужно изучить файл активного шаблона, который отвечает за вывод анонсов записей в архивах, уловить условия вывода has_post_thumbnail
и в соответствии подредактировать данный выше код.
То есть, в двух словах так: показанный мною код функции включает в себя все компоненты странички архива – от миниатюры записи, до the_content('');
которым и нужно задать условия отображения. Другими словами – ваша задача поместить оригинальные функции мини-картинки и контента из собственного файла post.php
в новую, показанную выше.
Примерно так:
/** выводим только тайтлы - без анонса - архивы категорий **/
function ats_cat_s () {
if (!is_category()) {
// здесь нужные для условий отображения строки кода...
}}
Мораль: показанный код – всего-то принципиальное решение. И если немного разобраться, настроите как душе угодно.
вероятно, будет полезно узнать, как закрыть nofollow ссылки рубрик в метаполях – в информационном описании (можно скрыть в AJAX).
Небольшая правка css и готово дело.
Однако, когда тестировал решение, мне как-то показалось не логичным на страничке архива-рубрик выводить имя самой рубрики (дублировать) в каждом информационном описании записей – это чересчур, ибо уже имеется основное имя архива: на мой взгляд автора записи вполне достаточно (впрочем, вам решать).
А посему, которые со мной согласны, продолжим:
как убрать на страничках категорий вывод имени рубрики в описании статьи
Итак: в шаблоне, в котором я решал и тестировал проблему условий вывода контента на страничках архивов, за формирование и вывод информации отвечал, как докладывалось выше, файл post.php
. У вас может быть иной файл – неважно !! а важно найти у себя соответствующий документ и приступить к требуемой правке.
У вас где-то приблизительно таким кодом будет выводиться имя-ссылка категории (в зависимости от “марки” темы) но коли окажутся отличия, не пугайтесь – принцип един.
<span class="meta_categories">категория: <?php the_category(', '); ?></span>
…главное найти такую <?php the_category(‘, ‘); ?> функцию, которая отвечает за вывод ссылки-титле рубрики… ну, и как понимаете, подобно описанному варианту выше решим и эту задачу – уберём на страничках рубрик из блока инфо-поля статьи ссылку на категорию (совсем зарапортовался))
И вновь воспользуемся легендарностью условных тегов))
<?php
if (!is_category()) {
echo 'в теме: ';
the_category(', ');
}
?>
1 – if (!is_category()) – символ “!” – инвертирование, скажем так… укажет системе на запрет отображения информации тогда, когда мы с вами находимся на страничке архива. И… соответственно разрешит на всех остальных…
Однако логика условного тега is_category() /по умолчанию/ отработает наоборот, коли “!” стереть.!! т.е везде окромя категорий ссылка “рубрики” пропадёт.
Касаемо тега more – фразы “Читать далее” решать вам: можно прямо в файле удалить соответствующий кусочек кода.
Что-то приблизительное к этому кодику будет и у вас, касаемо more
. – я показал вариант, когда код связан с настройками в админке: ваш может быть гораздо короче… или длиннее. Ключевая фраза типа #more
.
Ищите и меняйте…
<div class="readmore">
<a href="<?php the_permalink(); ?>#more-<?php the_ID(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'themater' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php $theme->option('read_more'); ?></a>
</div>
Работая с условными тегами, можно настроить практически любые требования утончённого и эстетичного админа…
Желаю вам успехов на творческом пути веб-мастерства!
На этом моя повесть нынче решительно окончена...!
Online консультация по настройкам и созданию сайтов на WordPress
!..подписываясь на обновления mihalica.ru —
...расстаёмся с невежеством..!
Мультвидео о том, как Шарик и кот Матроскин решили проблему и отблагодарили-таки комментатора за его первый отзыв – без плагинов…
mihalica.ru !