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

Как вывести цитату поста внутри его содержимого - шорткод цитаты текущего поста | n-wp.ru
Шорткод, позволяющий выводить цитату текущего поста в любом его месте. Удобно использовать, если вы вводите цитату, которая отличает от основного текста поста.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

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

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

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

function tf_get_the_excerpt() {
    global $post;
    $post_id = get_post($id);
    $excerpt = get_the_excerpt();
    return '<div class="exc">'. $excerpt . '</div>';
}
add_shortcode('exc', 'tf_get_the_excerpt');

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


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

<pre>. 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 '<div class="exc"><span class="exc_title">'. $title .': </span><span>'. $excerpt . '</span></div>';
}
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 '<div class="exc"><span class="exc_title"><a>'. $title .'</a></span><span>'. $excerpt . '</span></div>';
}
add_shortcode('exc', 'tf_get_the_excerpt');

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

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

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

×
WordPress:
прокачай свой сайт!

Скидка на премиум темы и плагины

Успей забрать скидку ⋙