我想在帖子中显示分类名称。我使用foreach循环,但它没有向我显示任何东西。
这是我的代码。
<?php
global $post;
$foo_home_url = site_url();
$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
if(strpos($url, 'foo_cat')){
$foo_bc_cat = get_the_terms( $post->ID , FOO_POST_TAXONOMY );
?>
<ul>
<li><a href="<?php echo $foo_home_url; ?>">Home</a></li>
<?php
foreach($foo_bc_cat as $foo_tax_cat){
?>
<li><a href="<?php echo get_term_link($foo_tax_cat->slug, FOO_POST_TAXONOMY) ?>"><?php echo $foo_tax_cat->name ?></a></li>
<?php
}
?>
</ul>
<?php
}
?>
任何想法。
答案 0 :(得分:1)
使用此代码
<?php
global $post;
$foo_home_url = site_url();
$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
if(strpos($url, 'foo_cat')){
$foo_bc_name = get_queried_object()->name;
?>
<ul>
<li><a href="<?php echo $foo_home_url; ?>">Home</a></li>
<li><a href="<?php echo get_term_link($foo_tax_cat->slug, FOO_POST_TAXONOMY) ?>"><?php echo $foo_bc_name; ?></a></li>
</ul>
<?php
}
?>
而不是此代码
<?php
global $post;
$foo_home_url = site_url();
$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
if(strpos($url, 'foo_cat')){
$foo_bc_cat = get_the_terms( $post->ID , FOO_POST_TAXONOMY );
?>
<ul>
<li><a href="<?php echo $foo_home_url; ?>">Home</a></li>
<?php
foreach($foo_bc_cat as $foo_tax_cat){
?>
<li><a href="<?php echo get_term_link($foo_tax_cat->slug, FOO_POST_TAXONOMY) ?>"><?php echo $foo_tax_cat->name ?></a></li>
<?php
}
?>
</ul>
<?php
}
?>