php – 在WordPress中显示当前的帖子自定义分类

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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;
}

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在WordPress中显示当前的帖子自定义分类全部内容,希望文章能够帮你解决php – 在WordPress中显示当前的帖子自定义分类所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: