WP query_posts按类别编号

时间:2014-04-30 16:53:15

标签: php wordpress sorting

我正在尝试设置query_posts以在页面上显示某些“产品”,但无法按照我的意愿进行排序。

我有以下类别:

产品(13)

  • F系列(12)
  • Z系列(14)
  • R系列(15)
  • K系列(16)

我想首先按照子类别编号排序,然后按标题排序。所以我需要按字母顺序排列所有列出的“F系列”,然后按字母顺序排序所有“Z系列”等。

到目前为止,我只是设法将它们全部按字母顺序排列(因此R系列出现在Z系列之前),或者它们根据我添加它们的日期进来(如果我需要添加F系列则不起作用)在我添加了之前的所有项目之后)。

我想过只使用多个循环,但我的客户端不知道php,如果他想添加另一个类别,将无法为新循环添加代码。

感谢任何帮助。我似乎无法按子类别值排序...

我尝试了很多东西,很难记住什么不起作用:

query_posts("cat=13&orderby=category,title&order=ASC");
query_posts("cat=13&orderby=meta_key_num,title&order=ASC");
query_posts("cat=13&orderby=parent menu_item&order=ASC");

<?php $categories = get_categories("child_of=17");
foreach ($categories as $cat) {
query_posts("cat=$cat->cat_ID&showposts=-1&order=ASC&orderby=title");

1 个答案:

答案 0 :(得分:1)

此代码将列出您的类别名称(以便您可以看到它的作用)按类别ID排序,以及在该类别中发布的每个帖子链接

<?php $parentcat = get_category('13'); 
$args = array('parent'  => $parentcat->term_id, 'orderby' => 'ID', 'order' => 'ASC', 'posts_per_page'=> '-1');  
$categories = get_categories( $args); 
foreach ($categories as $category){
$catID = $category->term_id ;
echo $category->slug.'<br />';
$argsb = array('category__in'  => $catID, 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page'=> '-1');  
$posts = get_posts($argsb);
foreach ($posts as $post){setup_postdata($post);?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php } };?>