在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]我希望它打印页面标题(测试)
这需要通过管理系统来实现,而不是在模板中进行硬编码。
答案 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));
}