Как вывести цитату поста внутри его содержимого – шорткод цитаты текущего поста

Как вывести цитату поста внутри его содержимого - шорткод цитаты текущего поста | n-wp.ru

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

Как вывести цитату поста внутри его содержимого - шорткод цитаты текущего поста

Для этого откройте файл functions.php используемой вами темы, и вставьте в него следующий код:

function tf_get_the_excerpt() {
    global $post;
    $post_id = get_post($id);
    $excerpt = get_the_excerpt();
    return '
'. $excerpt . '
'; } add_shortcode('exc', 'tf_get_the_excerpt');

Для шорткода я использовал функцию get_post – с ее помощью можно вывести множество данных. Шорткод цитаты текущего поста используется так:


Для оформления текста цитаты можно вставить в style.css:

. exc {
  font:style:italic; 
  font-size:18px; 
  font-family:Georgia; 
  margin:10px; 
  color:#aaa;
}

В начало цитаты можно вставить заголовок текущего поста. Код в этом случае будет такой:

function tf_get_the_excerpt() {
    global $post;
    $post_id = get_post($id);
    $title = $post_id->post_title;
    $excerpt = get_the_excerpt();
    return '
'. $title .': '. $excerpt . '
'; } add_shortcode('exc', 'tf_get_the_excerpt');

Заголовок можно в этом случае выделить другим цветом:

. exc {
  font:style:italic; 
  font-size:18px; 
  font-family:Georgia; 
  margin:10px; 
  color:#aaa;
}

span.exc_title {
  color:#04AEDA;
}

Можно заголовок сделать универсальной ссылкой на текущий пост, работающей при любых настройках ЧПУ, даже если вы их потом поменяете. Код будет таким:

function tf_get_the_excerpt() {
    global $post;
    $post_id = get_post($id);
    $title = $post_id->post_title;
    $url = $post_id->guid;
    $excerpt = get_the_excerpt();
    return '
'. $title .''. $excerpt . '
'; } add_shortcode('exc', 'tf_get_the_excerpt');

Пользуйтесь!

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*