Несколько функций WordPress, которые я часто использую и вам советую

Несколько функций WordPress Эта заметка — своего рода закладка, чтобы постоянно не копаться в интернете в поисках стандартных функций, которые я часто юзаю.

Думаю эта «сборка» будет полезна многим, у кого есть блоги и сайты на движке wordpress.

Также постараюсь дать ответы на то, где и как я использую коды, о которых пойдет речь.

Вывод только на главной WordPress

Чтобы вывести что-либо на главной странице, но при этом не трогать другие страницы блога, есть такое условие:

<?php if( is_front_page() ){ ?>
 
Этот текст на главной странице.
 
<?php } else { ?>
 
Этот текст на всех страницах, кроме главной. (можно оставить пустым)
 
<?php } ?>

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

Обычно втыкать такой код нужно в файл index.php. Это зависит от шаблона.

Я применяю этот показ обычно для вывода тега H1 с названием сайта, а на страницах постов и других страницах сайта просто вывожу название в теге span, т.к. в H1 используется название статьи.

Вывод только в определенных постах WordPress

Иногда можно в сайдбаре к определенным статьям добавить какой-нибудь блок. Будь-то рекламный, или блок ссылок и т.д., но при этом не нужно его показывать на остальных страницах сайта.

Тогда выручает такой код:

<?php if( is_single(123) ){  ?>
 
Этот текст показывать, когда открыт пост №123
 
<?php } else { ?>
 
Этот текст показывать на остальных страницах сайта (можно оставить пустым)
 
<?php } ?>
Читайте также:   Реализация раздела "Вопрос-ответ" на сайте
Этот текст показывать, когда открыт пост №123 <?php } else { ?> Этот текст показывать на остальных страницах сайта (можно оставить пустым) <?php } ?>

Я обычно использую такой код в файле sidebar.php чтобы как-то по особенному монетизировать отдельные статьи и, соответственно, вставляю вместо текста рекламу. Подробнее об этом я написал в отдельной статье. Там же есть пример этой функции при использовании для нескольких постов.

Узнать номер поста можно зайдя в его редактирование — в строке браузера.

Выводить на всех страницах постов (исключая главную, категории, статических страницы и тд.) можно с помощью того же кода, без ввода номера статьи:

<?php if( is_single() ){  ?>
 
Здесь нужный текст
 
<?php } ?>

Вывод только в определенной категории WordPress

Это фишка нужна когда мы хотим добавить к каждой категории сайта дополнительный текст и продвигать их в ПС. Также это может пригодиться, если есть желание добавить дополнительное меню подкатегорий на странице категории.

Код для этого такой:

<?php if( is_category('9') ){ ?>
 
Этот текст (или ссылки) показывать в категории №9.
 
<?php } ?>

Обычно втыкать код нужно в файл archive.php.

Если в посте нужно что-то показать только в том случае, если пост принадлежит определенной категори(и\ям), то поможет такая штука:

<?php if ( in_category( array( 14, 15 ) )) { ?>
// Здесь то, что нужно показать, если пост принадлежит категориям 14, 15
<?php } ?>
Читайте также:   Как добавить сайт на Wordpress в Sape. Быстрый способ, без плагинов.

Хлебные крошки для WordPress и другие вкусняшки

Мне не нравятся стандартные хлебные крошки WordPress. Я заменяю их на другие, а именно вот с этой страницы http://wp-kama.ru/id_541/samyie-hlebnyie-kroshki-breabcrumbs-dlya-wordpress.html

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

Там же у автора есть еще много полезностей:

  • Красивый вывод всех постов по месяцам написания;
  • Вывода записей по количеству просмотров;
  • Вывод блока ссылок на предыдущие записи, или только на предыдущие из категории;

Вот ссылка на страницу его авторских функций http://wp-kama.ru/cat/wordpress/functions

Будет обновляться и дополняться…

Понравилась статья? Поделиться с друзьями:
Комментариев: 6
  1. Анатолий

    Какой код надо добавить, чтобы показывался текст из описание рубрик на странице архивов?

    1. ARKSEO (автор)
      <?php echo category_description(); ?>

      Если хотим блок красиво оформить, то можно завернуть в div с определенным классом (например, .desc-meta), и потом ему добавить стили:

      <?php
      	$category_desc = category_description();
      	if ( !empty( $category_desc ) )
      	echo '<div class="desc-meta">' . $category_desc . '</div>';
      ?>

      * этот код надо добавлять в файл category.php темы, если его нету, то в archive.php.

  2. Алексей

    Здравствуйте. Искал подобную штуку для вывода блоков для страниц разных категорий, но нужно чуть сложнее.

    Как сделать, чтобы:
    для всех записей рубрики ID=1 выводился «такой то текст»;
    для всех записей рубрики ID=2 выводился «Другой текст»;
    для всех записей рубрики ID=3 выводился «еще какой то текст»;
    и т.д.

    То есть я хочу в сайдбаре уникализировать записи определенных категорий. И желательно, чтобы сильно не нагружало сайт.

    Подскажите, пожалуйста!

    1. ARKSEO (автор)
      <?php if( in_category( array( '78', '79') )){ ?>
      
      Здесь текст для записей из категорий 78 и 79
      	
      <?php } ?>

      * 78,79 меняем на ID своих рубрик. Можно оставить только одну категорию, например array( ’78’), тогда текст будет выводиться только для записей из категории ’78’.

  3. Галина

    Спасибо, очень помогла ваша статья.

  4. Андрей

    Доброго времени суток!
    Скажите пожалуйста, а как реализовать этот код:

    // Здесь то, что нужно показать, если пост принадлежит категориям 14, 15

    только с пользовательскими таксономиями?

Добавить комментарий