! Михалика - запросто с WordPress:
доступная ручная работа по правилам оптимального интернет(а)
Здравствуйте !

издатель:   в теме: Контент - кодингS  
Запросто с WordPress - студия занимательная МИХАЛИКА

Выводим на страничках архивов только title записей, без контента (анонса) и миниатюры

На днях поступил вопрос о том, как сделать в разделах (архивов) например, рубрик так, чтобы выводились только лишь тайтлы записей — без миниатюр и т.п. составляющей прелести анонса? …или, проще говоря, как убрать со страниц категорий текст анонса и миниатюру, ну и, соответственно, тег 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>

 

 

 

Работая с условными тегами, можно настроить практически любые требования утончённого и эстетичного админа…

 

 

Желаю вам успехов на творческом пути веб-мастерства!

 


На этом моя повесть нынче решительно окончена...!


 


подписка feedburner МИГ подписки - ВРЕМЯ знаний!!


!..подписываясь на обновления mihalica.ru
...расстаёмся с невежеством..!


 

Мультвидео о том, как Шарик и кот Матроскин решили проблему и отблагодарили-таки комментатора за его первый отзыв — без плагинов…

 

 


Благодарности)) и вопросы в комментариях - помогу… в чём дюжу
А также Вы можете просто:
Нажатия на кнопочки определяют Ваше высокое гражданское сознание
ещё статьи по теме:

меточная навигация:


Комментарии © 0 к статье: Выводим на страничках архивов только title записей, без контента (анонса) и миниатюры

Поделитесь соображениями: Ваши мысли очень важны! $ правила комментирования ©

Внимание! Обязательные поля помечены *