如何在内容中包含wordpress帖子的页面标题可能带有短代码

时间:2013-04-18 09:40:11

标签: php html wordpress shortcode

在wordpress admin中,我想在创建页面时执行以下操作:

页面标题:测试

网页内容:

Lorem ipsum dolor [page_title] 坐下来,奉献精神。 Nunc et lectus坐在amet [page_title] tortor上的ante ante vulputate ultrices。 semper的Nam mattis commodo mi。 Suspendisse ut eros dolor。 Morbi at odio feugiat [page_title] nunc vestibulum venenatis sit amet vitae neque。 Nam ullamcorper ante ac risus malesuada id iaculis nibh ultrices。


它说[page_title]我希望它打印页面标题(测试)

这需要通过管理系统来实现,而不是在模板中进行硬编码。

3 个答案:

答案 0 :(得分:18)

请参阅codex:Shortcode API

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

将此添加到主题的functions.php文件中。

请注意,根据S.Visser和我在他的回答中的评论交换 - 这个解决方案只适用于The Loop,而他的也将在The Loop之外工作,所以他的答案更完整。

答案 1 :(得分:3)

将此添加到您的主题,或从中制作插件。

/* 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');

答案 2 :(得分:0)

在网络上找到这个解决方案希望它能帮助那些面临同样问题的人。只需将以下代码添加到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));
}