Php 当税务查询在自定义分类法上处于活动状态时,Wordpress不按自定义字段排序
我得按价格把产品分类。我正在努力完成这项任务,因为我的查询只有在任何自定义分类查询关闭时才能工作。这是一个有效的查询,但它不会按特定的产品类别筛选帖子:Php 当税务查询在自定义分类法上处于活动状态时,Wordpress不按自定义字段排序,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我得按价格把产品分类。我正在努力完成这项任务,因为我的查询只有在任何自定义分类查询关闭时才能工作。这是一个有效的查询,但它不会按特定的产品类别筛选帖子: $args = array( 'post_type' => 'product', 'paged' => $paged, 'orderby' => 'meta_value_num', 'meta_key' => 'price', 'order' => 'D
$args = array(
'post_type' => 'product',
'paged' => $paged,
'orderby' => 'meta_value_num',
'meta_key' => 'price',
'order' => 'DESC',
);
现在这个代码:
$args = array(
'post_type' => 'product',
'paged' => $paged,
'orderby' => 'meta_value_num',
'meta_key' => 'price',
'order' => 'DESC',
'tax_query' => array(
array(
'taxonomy' => 'product_category',
'field' => 'slug',
'terms' => $queried_slug
)
)
);
它查询正确的类别,但根本不进行排序。
我甚至不知道这怎么可能
这就是环境:Wordpress:4.4.2
使用“高级自定义字段”进行自定义字段管理
带有“类型”的自定义帖子类型和分类 下面是生成的SQL:
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts
LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id )
LEFT JOIN wp_postmeta sort ON (wp_posts.ID = sort.post_id AND sort.meta_key = 'sort_487')
WHERE 1=1
AND (
wp_term_relationships.term_taxonomy_id IN (487)
)
AND (
wp_postmeta.meta_key = 'price'
)
AND wp_posts.post_type = 'product'
AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'acf-disabled' OR wp_posts.post_status = 'private')
AND ( sort.meta_key = 'sort_487' OR sort.post_id IS NULL )
GROUP BY wp_posts.ID
ORDER BY CAST(sort.meta_value AS SIGNED), wp_posts.post_date DESC LIMIT 0, 18
哪些类型/值具有
$paged
和$queryed\u slug
变量?$paged=(int),$queryed\u slug=(string)您可以对WP\u Query
执行var\u dump
并粘贴完整的SQL吗?这里发生了一些奇怪的事情。我想这可能与一些插件或主题搞乱了pre\u get\u posts
有关。我已经编辑了这篇文章。生成的SQL是there@vard请参阅文章中的sql