Как включить заголовок страницы сообщения wordpress в контент, возможно, с помощью шорткода


В администраторе WordPress я хотел бы сделать следующее при создании страницы:

Название страницы: Тест

Содержание страницы:

Лорем ипсум долор[заголовок страницы] сядь амет, посмотри на адипискинг элит. Nunc et lectus sit amet перед вульпутацией ультрасовременных в sit amet[заголовок страницы] тортор. Нам Маттис коммодо ми в земпере. Приостановить действие ут эрос долор. Морби в одио фейгиат [заголовок страницы] nunc vestibulum venenatis sit amet vitae неке. Нам улламкорпер ante ac risus малесуада ид якулис нибх ультрас.


Где написано [заголовок страницы] Я бы хотел, чтобы он напечатал заголовок страницы (тест)

Это должно быть достигнуто с помощью системы администрирования, а не жестко запрограммировано в шаблоне.

Author: scott, 2013-04-18

3 answers

Обратитесь к кодексу: API шорткодов

function myshortcode_title( ){
   return get_the_title();
}
add_shortcode( 'page_title', 'myshortcode_title' );

Добавьте это в свою тему functions.php файл.

Обратите внимание, что в соответствии с обменом комментариями между С.Виссером и мной в его ответе - это решение будет работать только внутри цикла, в то время как его решение также будет работать вне цикла, и поэтому его ответ является более полным.

 14
Author: Sepster, 2017-12-11 02:40:45

Добавьте это в свою тему или сделайте из нее плагин.

/* title to get the post title  */
function getPageTitle() {
  global $wp_query;
  return get_post_title($wp_query->post->ID);
}

/* Add shortcode */
add_shortcode('page_title', 'getPageTitle');
 3
Author: S.Visser, 2013-04-18 09:50:11

Нашел это решение в Интернете, надеюсь, оно поможет другим, кто сталкивается с той же проблемой, что и я. Просто добавьте приведенный ниже код в functions.php файл или в файл плагина page_title.php.

add_filter('get_the_excerpt', 'show_shortcode_in_excerpt');
add_filter('the_excerpt', 'show_shortcode_in_excerpt');
function show_shortcode_in_excerpt($excerpt) {
    return do_shortcode(wp_trim_words(get_the_content(), 55));
}
 0
Author: Ashwin, 2017-07-27 18:44:28