php – 在WordPress中显示当前的帖子自定义分类
我已经在WordPress上创建了自定义分类法,我想在列表中显示帖子上的当前帖子分类.
我正在使用以下代码显示名为“Job Discipline”的自定义分类: <ul> <?php $args = array('taxonomy' => 'job_discipline'); ?> <?php $tax_menu_items = get_categories( $args ); foreach ( $tax_menu_items as $tax_menu_item ):?> <li> Job Discipline: <a href="<?php echo get_term_link($tax_menu_item,$tax_menu_item->taxonomy); ?>"> <?php echo $tax_menu_item->name; ?> </a> </li> <?php endforeach; ?> </ul> 这只是我想列出的许多分类法之一. 问题是上面的代码显示的是所有“职务规则”,其中至少有一个职位而不是当前的职位分类. 我该如何解决这个问题?
如何显示当前的分类后和术语
以下是来自Codex的修改后的代码(请参阅下面的链接),该代码将显示当前帖子的所有分类法及附加条款: <?php // get taxonomies terms links function custom_taxonomies_terms_links() { global $post,$post_id; // get post by post id $post = &get_post($post->ID); // get post type by post $post_type = $post->post_type; // get post type taxonomies $taxonomies = get_object_taxonomies($post_type); $out = "<ul>"; foreach ($taxonomies as $taxonomy) { $out .= "<li>".$taxonomy.": "; // get the terms related to post $terms = get_the_terms( $post->ID,$taxonomy ); if ( !empty( $terms ) ) { foreach ( $terms as $term ) $out .= '<a href="' .get_term_link($term->slug,$taxonomy) .'">'.$term->name.'</a> '; } $out .= "</li>"; } $out .= "</ul>"; return $out; } ?> 这是这样使用的: <?php echo custom_taxonomies_terms_links();?> 演示输出 如果当前帖子具有分类法国家和城市,则输出可能如下所示: <ul> <li> country: <a href="http://example.com/country/denmark/">Denmark</a> <a href="http://example.com/country/russia/">Russia</a> </li> <li> city: <a href="http://example.com/city/copenhagen/">Copenhagen</a> <a href="http://example.com/city/moscow/">Moscow</a> </li> </ul> 参考 食典委的原始代码示例: http://codex.wordpress.org/Function_Reference/get_the_terms#Get_terms_for_all_custom_taxonomies 希望这有帮助 – 我相信你可以适应你的项目;-) 更新
以下是实现此目的的一个修改: function custom_taxonomies_terms_links() { global $post; // some custom taxonomies: $taxonomies = array( "country"=>"My Countries: ","city"=>"My cities: " ); $out = "<ul>"; foreach ($taxonomies as $tax => $taxname) { $out .= "<li>"; $out .= $taxname; // get the terms related to post $terms = get_the_terms( $post->ID,$tax ); if ( !empty( $terms ) ) { foreach ( $terms as $term ) $out .= '<a href="' .get_term_link($term->slug,$tax) .'">'.$term->name.'</a> '; } $out .= "</li>"; } $out .= "</ul>"; return $out; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |