如何按wordpress中的帖子数量对类别进行排序?

时间:2014-02-06 14:59:26

标签: php wordpress

我正在使用此语法按每个类别中的帖子数量排序类别。

<?php wp_list_categories('title_li=&show_count=1&child_of=3&number=5&orderby=count'); ?>

仍然没有用..它显示按字母顺序排序的类别。请帮帮我!

请参阅侧栏

http://www.primobazaar.com/

2 个答案:

答案 0 :(得分:1)

以下是我从其他答案中修改过的一些代码

<?php
    echo '<ul>';
    foreach (get_categories('orderby=count&order=ASC') as $category ) 
    {
         if( $category->category_parent == '0') 
         { 
            $url = '';
            $url =  site_url() . '/' . $category->taxonomy . '/' . $category->slug ;
            echo '<li class="cat-item cat-item-' . $category->term_id . '"><a href="' . $url . '">' . $category->name . ' (' . $category->count . ')</a></li>';

         }
    }
    echo '</ul>';
?>

这是导致答案的问题。

http://wordpress.org/support/topic/cant-get-wp_list_categories-to-list-by-count-help

删除$category->category_parent == '0' if if,将意味着将选择所有类别,而不仅仅是父母。

希望这有帮助。

<强>更新

将行('orderby=count&order=ASC')更改为('orderby=count&order=DESC')以降序排序。此外,您还必须添加其他参数,即&child_of=3&number=5

答案 1 :(得分:0)

get_posts

    <?php
$args = array(
    'posts_per_page'   => 5,
    'offset'           => 0,
    'category'         => '',
    'orderby'          => 'post_date',   <----------------
    'order'            => 'DESC',        <----------------
    'include'          => '',
    'exclude'          => '',
    'meta_key'         => '',
    'meta_value'       => '',
    'post_type'        => 'post',
    'post_mime_type'   => '',
    'post_parent'      => '',
    'post_status'      => 'publish',
    'suppress_filters' => true );

$posts_array = get_posts( $args );
 ?> 

您可以按照menu_order,post_date等方式对其进行排序。