8

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

页面标题:测试

页面内容:

Lorem ipsum dolor [page_title] sat amet, consectetur adipiscing elit。Nunc et lectus sat amet ante vulputate ultrices at sat amet [page_title]侵权。在 semper 中的 Nam mattis commodo mi。Suspendisse ut eros dolor。Morbi at odio feugiat [page_title] nunc vestibulum venenatis 坐在 amet vitae neque。Nam ullamcorper ante ac risus malesuada id iaculis nibh ultrices。


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

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

4

3 回答 3

21

参考codex:Shortcode API

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

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

请注意,根据 S.Visser 和我在他的回答中交换的评论 - 此解决方案仅适用于 The Loop 内部,而他的也适用于 The Loop 外部,因此他的答案更完整。

于 2013-04-18T09:50:17.583 回答
5

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

/* 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');
于 2013-04-18T09:50:11.660 回答
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));
}
于 2017-07-27T18:44:28.960 回答