通过短代码 wordpress 显示自定义类别 post
Display categories of custem post via shortcode wordpress
我想在 WordPress 中使用简码来输出 post 标记到的所有类别。使用我创建的 PHP 代码,现在显示所有类别。我怎样才能让它只显示那些。 post 中用到的短代码包括哪些?感谢您的帮助!
function get_cat($post_id) {
$terms = get_terms( array(
'taxonomy' => 'test',
'hide_empty' => true,
) );
echo '<br><strong>Test: </strong>';
foreach ($terms as $term){
echo '<a target="_blank" href="/test/'. $term->slug . '/">' . $term->name . '</a>';
echo ' ';
}
}
add_shortcode( 'get_cat', 'get_cat' );
如果您想获取当前使用短代码的 post 的类别,那么您可以更改获取类别的函数,在您的情况下是 get_terms with get_the_terms() 函数。
解决方案:
改变这个:
$terms = get_terms( array(
'taxonomy' => 'test',
'hide_empty' => true,
) );
为此:
$terms = get_the_terms(get_the_ID(), 'category');
第二个参数是分类法,更改为你想要的分类法我用默认的'category'测试了它,在你的情况下它是'test'基于你的代码。
进行此更改后,您将只能看到用于该特定 post 的类别。
其他解决方案:
如果你想使用默认的分类法(类别),你可以使用这个功能get_the_category()
使用此解决方案,您只需将 post id 作为参数传递,如下所示:
$terms = get_the_category(get_the_ID());
注意:此函数仅 returns 来自默认的“类别”分类法。对于自定义分类法,使用带有 get_the_terms() 函数的第一个解决方案。
我想在 WordPress 中使用简码来输出 post 标记到的所有类别。使用我创建的 PHP 代码,现在显示所有类别。我怎样才能让它只显示那些。 post 中用到的短代码包括哪些?感谢您的帮助!
function get_cat($post_id) {
$terms = get_terms( array(
'taxonomy' => 'test',
'hide_empty' => true,
) );
echo '<br><strong>Test: </strong>';
foreach ($terms as $term){
echo '<a target="_blank" href="/test/'. $term->slug . '/">' . $term->name . '</a>';
echo ' ';
}
}
add_shortcode( 'get_cat', 'get_cat' );
如果您想获取当前使用短代码的 post 的类别,那么您可以更改获取类别的函数,在您的情况下是 get_terms with get_the_terms() 函数。
解决方案:
改变这个:
$terms = get_terms( array(
'taxonomy' => 'test',
'hide_empty' => true,
) );
为此:
$terms = get_the_terms(get_the_ID(), 'category');
第二个参数是分类法,更改为你想要的分类法我用默认的'category'测试了它,在你的情况下它是'test'基于你的代码。
进行此更改后,您将只能看到用于该特定 post 的类别。
其他解决方案:
如果你想使用默认的分类法(类别),你可以使用这个功能get_the_category()
使用此解决方案,您只需将 post id 作为参数传递,如下所示:
$terms = get_the_category(get_the_ID());
注意:此函数仅 returns 来自默认的“类别”分类法。对于自定义分类法,使用带有 get_the_terms() 函数的第一个解决方案。