Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WP查询按类别编号列出的职位_Php_Wordpress_Sorting - Fatal编程技术网

Php WP查询按类别编号列出的职位

Php WP查询按类别编号列出的职位,php,wordpress,sorting,Php,Wordpress,Sorting,我正在尝试设置query_posts,以便在页面上显示一些“产品”,但无法按我希望的方式进行排序 我有以下类别: 产品(13) F系列(12) Z系列(14) R系列(15) K系列(16) 我想先按子类别编号,然后按标题排序。所以我需要所有的“F系列”首先按字母顺序排列,然后所有的“Z系列”按字母顺序排列,等等 到目前为止,我只成功地将它们按字母顺序排列(因此R系列在Z系列之前),或者它们是根据我添加它们的日期来排列的(如果我在添加之前的所有项目之后需要添加F系列,则这不起作用) 我曾想过

我正在尝试设置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");
query_posts(“cat=13&orderby=category,title&order=ASC”);
查询帖子(“cat=13&orderby=meta\u key\u num,title&order=ASC”);
查询帖子(“cat=13&orderby=父菜单项&order=ASC”);

这段代码将列出你的分类名称(以便你能看到它在做什么),并按分类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 } };?>


您可以发布您的代码吗?您已经尝试了什么?在“循环”过程中,您需要一个数组。对内部数组进行排序,对外部数组进行排序,然后打印它们。这应该是动态的,不需要你的客户的交互。马克-很难知道我已经做了什么,到目前为止还没有尝试过什么,我在上面发布了我能记住的,并更新了我的问题。你可以在你的分类中使用
而不是
,如果你在使用对象,不要使用
“cat=$cat->cat\u ID”
,使用
“猫”=" . $cat->cat\u ID。“…”
“cat={$cat->cat_ID}”
我尝试了这个方法,但它所做的一切都是按字母顺序组织它们,这是我不想要的。我希望它按子类别组织,然后按字母顺序。您希望子类别如何排序?按“编号”或“id”。因此,F系列的ID为12,所以我希望所有这些都是先排序的“abc”,然后是ID为14的Z系列,所以我希望abc列出的所有Z系列,在所有的F系列之后,等等。我只是不知道如何对子类别进行排序。@KerynGill我想我理解你想要的-我更新了我的答案,像一个魅力迈克一样工作!!在我需要按自定义字段而不是标题进行排序之后,我意识到了这一点,但我只是在代码中使用了meta_key_num,而不是title,效果非常好!!!!非常感谢!!