从WordPress类别中删除字母顺序

时间:2013-07-26 作者:user2506619

我是编程和WordPress新手。

我正在从事一个使用自定义分类法(tag)的项目。当我在管理面板(post)中选择我的标签时,它会自动按字母顺序排列。

我想停止这种行为,因为我想按选择标记的顺序显示它们。

2 个回复
最合适的回答,由SO网友:Biranit Goren 整理而成

给你:把这个放在你的函数里。php:

/**
 * Sort post_tags by term_order
 *
 * @param array $terms array of objects to be replaced with sorted list
 * @param integer $id post id
 * @param string $taxonomy only \'post_tag\' is changed.
 * @return array of objects
 */
function plugin_get_the_ordered_terms ( $terms, $id, $taxonomy ) {
    if ( \'post_tag\' != $taxonomy ) // only ordering tags for now but could add other taxonomies here.
        return $terms;

    $terms = wp_cache_get($id, "{$taxonomy}_relationships_sorted");
    if ( false === $terms ) {
        $terms = wp_get_object_terms( $id, $taxonomy, array( \'orderby\' => \'term_order\' ) );
        wp_cache_add($id, $terms, $taxonomy . \'_relationships_sorted\');
    }

    return $terms;
}

add_filter( \'get_the_terms\', \'plugin_get_the_ordered_terms\' , 10, 4 );

/**
 * Adds sorting by term_order to post_tag by doing a partial register replacing
 * the default
 */
function plugin_register_sorted_post_tag () {
    register_taxonomy( \'post_tag\', \'post\', array( \'sort\' => true, \'args\' => array( \'orderby\' => \'term_order\' ) ) );
}

add_action( \'init\', \'plugin_register_sorted_post_tag\' );
(贷记至lgedeon on the Wordpress Core Trac)

现在,您所需要做的就是按您希望的顺序输入标记。

注意:上面的代码显示了如何为post_tag. 如果需要不同的分类法,只需使用所需的分类法名称更新上述代码即可。

SO网友:Tolea Bivol

显示应使用的类别时

<?php wp_list_categories(array(\'orderby\' => \'ID\')); ?>
而不是ID 您可以使用name,slug,countterm_group. 看见Codex

结束

相关推荐