如何在category.php中获取子类别不是帖子

时间:2016-09-26 06:53:13

标签: wordpress categories

有没有办法只在category.php文件而不是帖子中获取子类别?

我知道WordPress通过自己的查询分页category.php并且我不应该创建新的查询,但我只需要在某些类别而不是帖子中显示子类别。

并且,因为我有很多,我还需要它被分页 ......

1 个答案:

答案 0 :(得分:1)

请试试下面的代码:

$args = array('child_of' => get_query_var('cat') );
$categories = get_categories( $args );

$numOfItems = 2; // Set no of category per page
$page = isset( $_GET['cpage'] ) ? abs( (int) $_GET['cpage'] ) : 1;
$to = $page * $numOfItems;
$current = $to - $numOfItems;
$total = sizeof( $categories );

echo '<ul class="content">';
    for( $i=$current; $i<$to; ++$i ) {
        $category = $categories[$i];
        if( $category->name ) { 
            echo '<li>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a></li>';
        }
    }
echo '</ul>';

unset( $category );

/* For pagination */
echo paginate_links( array(
    'base' => add_query_arg( 'cpage', '%#%' ),
    'format' => '',
    'prev_text' => __('&laquo;'),
    'next_text' => __('&raquo;'),
    'total' => ceil($total / $numOfItems),
    'current' => $page
));

此代码经过测试且运作正常。