繁体   English   中英

在Wordpress中更改类别列表顺序

[英]Changing the category list order in Wordpress

我正在编辑Wordpress插件文件。

下面的代码按字母顺序列出类别。 我想按类别ID升序列出它们。

<?php foreach($categories as $category){ 
    $rand = rand(0,99);
    $catname = get_cat_name( $category );
    $find =     array("&", "/", " ","amp;","&#38;");
    $replace  = array("", "", "", "","");           
    $catname = str_replace($find,$replace,get_cat_name( $category ));
?>                  
    <li>
        <a href="#fragment-<?php echo $catname; ?>"><?php echo get_cat_name( $category ); ?></a>
    </li>
<?php } ?>

我尝试使用get_cat_ID函数,但是我不是程序员,所以陷入了困境。 请帮忙。

更好的方法是在您的wordpress主题中注册自定义功能,而不是在主题文件中查询类别。

谷歌搜索“按ID排序的WordPress类别”给我这个链接

https://wordpress.org/support/topic/how-to-order-my-categories-by-id-instead-of-name 那里的答案很好。

add_filter('get_the_categories','get_the_category_sort_by_id');

function get_the_category_sort_by_id( $categories ) {
    usort($categories, '_usort_terms_by_ID');
    return $categories;
}

然后,您可以在主题文件中调用该函数,该函数将返回按ID排序的类别。 像这样:

<?php
$categories = get_the_category_sort_by_id($categories);
foreach($categories as $category){ 
    ...
?>
    <li>
        <a href="#fragment-<?php echo $catname; ?>"><?php echo get_cat_name( $category ); ?></a>
    </li>
<?php } ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM