get_post_type()在wordpress文本小部件中的简码中使用时出现奇怪的问题

aydmsdu9  于 2023-04-05  发布在  WordPress
关注(0)|答案(1)|浏览(400)

我有一个简单的短代码来显示post_type slug当我需要的时候。
在文本小部件中使用简码时:

  • 在“post_type单页”中,它正在工作
  • 但在相同的侧边栏和相同的小部件在“post_type存档页面”返回什么。
    奇怪的是,即使在“post_type archive page”模板中使用do_shortcode函数时,相同的短代码也在工作,但在文本小部件中没有成功。
function post_type_slug()
{
    $string = get_post_type();

    return $string;
}
add_shortcode('pts', 'post_type_slug');
qyzbxkaa

qyzbxkaa1#

不幸的是,我没有成功地使用get_post_type(),但get_queried_object()帮助了我。
我将代码更改为:

function post_type_slug()
{
    $post_type = get_queried_object();
    $post_type = $post_type->rewrite['slug'];

    return $post_type;
}
add_shortcode('pts', 'post_type_slug');

它现在可以在文本小部件中工作了。

相关问题