我一直在使用一个简单的函数来获取帖子标题(也有一个标签和类别)并允许我使用短代码在我的网站的前端显示这些。我目前使用的功能如下:
function sc_title() {
return get_the_title();
}
add_shortcode( 'title', 'sc_title' );
现在我最近开始使用名为Templatera的插件,所以我不必单独编辑所有页面,这已经停止正常工作,现在正在浏览模板标题而不是帖子标题。
我从插件开发者那里得到的回应是:
可能需要对短代码进行一些更改,以便这样做 它取决于添加它的帖子ID。
我尝试过多次修复,但似乎都没有。
答案 0 :(得分:1)
在Wordpress开发文档中,您可以看到 get_the_title()接受整数ID(或帖子对象)作为参数:https://developer.wordpress.org/reference/functions/get_the_title/
尝试在短代码中使用它。
我的第一次参赛将是:
function sc_title() {
// get current post / page ID
global $wp_query;
$post_id = $wp_query->posts[0]->ID;
return get_the_title( $post_id );
}
add_shortcode( 'title', 'sc_title' );
这适用于单页(例如帖子“页面”),但我想它不适用于显示多个帖子内容的页面(它总是返回第一个查询帖子的标题)。