- 02.12.2019
- Статьи
Шорткод для вывода записей из категории
Сегодня в статье рассмотрим как можно сделать свой шорткод для WordPress.
Какие цели могут быть у создания шорткода, и для чего это нужно?
С помощью шорткодов удобно создавать динамическое содержимое на странице, оно может быть разным, какое рассмотрим в статье.
Для примера рассмотрим код который выведет записи из рубрики по id с заданными параметрами.
Этот код вставляется в файл functions.php вашей темы… распологается по адресу /wp-content/themes/Название_вашей_темы
Код PHP
## ШОРТКОД вывода записи из категории по id function func_short_category( $args ) { ob_start(); $posts = get_posts( array( 'numberposts' => $args['post_num'], 'category' => array($args['id']), 'orderby' => 'date', 'order' => 'DESC', 'post_type' => 'post', 'suppress_filters' => true, ) ); global $post; //обертка для записей например <ul> ?> <ul> <?php //выводим в записи в цикле foreach( $posts as $post ){ setup_postdata($post); $category = get_the_category(); ?> <li>Дата:<?php echo get_the_date('d.m.Y'); ?>, Название записи:<?php echo get_the_title(); ?> Ссылка на запись:<a href="<?php the_permalink() ?>">Читать полностью...</a><br> Содержание записи:<?php echo mb_substr(get_the_excerpt(),0,180); ?> <?php }//конец вывода ?> </ul> <?php wp_reset_postdata(); wp_reset_query(); $output_string = ob_get_contents(); ob_end_clean(); return $output_string; } add_shortcode('category', 'func_short_category' );
Пояснения к коду:
- Мы создали функцию – func_short_category()
- Применили буферизацию для правильного вывода контента ob_start() и ob_end_clean() Это нам гарантирует то что вывод содержимого шорткода будет правильным – в том месте где помещен шорткод, если не добавить эти параметры то наш шорткод покажется вверху страницы, до загрузки контента.
- Создали переменную $posts в которой список аргументов, в соответствии с которыми будет получен результат.
$args[‘id’] – id категории из которой выводим записи
$args[‘post_num’] – количество выводимых записей, если поставить -1 выведутся все записи из категории
– Это наши параметры они содержатся в шорткоде, прописываются след образом [category id=”2″ post_num=”3″] - Объявили глобальную переменную $post для доступа к данным текущего поста.
- В цикле получили наши посты, в примитивном выводе, внешний вид настраивается индивидуально, в зависимости от поставленных задач.
- Добавили шорткод с помощь функции – add_shortcode(‘category’, ‘func_short_category’ );
Наш шорткод выводится в тексте статьи таким образом [category id=”2″ post_num=”3″]
В цикле мы вывели – Дату поста, Название поста, Ссылку на запись, Краткое содержание записи.
Вот таким не хитрым образом можно выводить записи в статье, примеров использования шорткодов много, другие варианты использования в следующих выпусках статей 🙂
Комментарии
Написать комментарий