我试图在“functions.php”中编写一种“breadcrumb”函数
我想查询我是否在学期页面上,如果是,我想打印我所处的当前学期。
我所说的“术语页”是指以下内容。我在标题中将自定义分类法(与自定义帖子类型关联)的所有术语作为类别列出。我用get_term_link($term->slug, \'my_taxonomy\')
;
在我的面包屑新功能中,我想查询我是否在这一页上并打印这个术语。
首先,我正在做这个…
if ( is_taxonomy_hierarchical(\'my_taxonomy) ) {
echo "test";
但现在我的功能取决于此
my_taxonomy
一串我很乐意为所有即将推出的分类法使用此函数。我该怎么做?有如下条件标记
is_category()
这不需要任何参数。为什么所有术语或分类条件都需要这个参数?
如何打印当前学期的内容。现在我只是重复上面的“测试”,不过我想打印当前术语。
有什么想法吗?提前谢谢你。
UPDATE:
function list_breadcrumbs() {
$q_object = get_queried_object();
$taxonomy = $q_object->taxonomy;
$seperator = " <span class=\'separator\'>⟩</span> ";
if ( !is_home() ) {
echo "<a href=\'" . get_bloginfo(\'url\') . "\' title=\'Home\'>Home</a>" . $seperator;
if ( is_category() ) {
$category = get_the_category();
echo "<span class=\'breadcrumb\'>" . $category[0]->cat_name . "</span>";
} else if ( is_tax( $taxonomy ) ) {
echo "The Term Name";
} else if ( is_single() ) {
…
} else if ( is_page() ) {
…
最合适的回答,由SO网友:Stephen Harris 整理而成
你会想要get_queried_object()
. 这是一个非常通用的函数,只返回被查询的对象,所以一篇文章就是一个post对象。
例如,返回对象的形式可能是:
Object (
[term_id] => 299
[name] => test
[slug] => test
[term_group] => 0
[term_taxonomy_id] => 317
[taxonomy] => event-category
[description] =>
[parent] => 0
[count] => 2
)
例如:
$q_object = get_queried_object();
if( isset($q_object->taxonomy) ){
$taxonomy = $q_object->taxonomy;
}else{
//Not a taxonomy page
}
要在函数中使用此选项,请执行以下操作:
function wpse51753_breadcrumbs(){
if( !is_tax() && !is_tag() && !is_category() )
return;
//If we got this far we are on a taxonomy-term page
// (or a tag-term or category-term page)
$taxonomy = get_query_var( \'taxonomy\' );
$queried_object = get_queried_object();
$term_id = (int) $queried_object->term_id;
//Echo breadcrumbs
}
那就
wpse51753_breadcrumbs();
在模板中的任何位置显示面包屑。