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

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

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

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

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

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

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

<?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 } ?>

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

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

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

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

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

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

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

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

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

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

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

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

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

<?php if ( in_category( array( 14, 15 ) )) { ?>
// Здесь то, что нужно показать, если пост принадлежит категориям 14, 15
<?php } ?>

<?php if ( in_category( array( 14, 15 ) )) { ?> // Здесь то, что нужно показать, если пост принадлежит категориям 14, 15 <?php } ?>

 

Оцените статью
Дневник Сеошника
Добавить комментарий

  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
    только с пользовательскими таксономиями?

    Ответить