Php Wordpress“按顺序”不工作
首先,我花了大约3个小时阅读和尝试不同的解决方案,所以我想让你们知道我并没有直接问这个问题 我接管了一个网站,该网站为教员设置了自定义字段->字段组 原代码为:Php Wordpress“按顺序”不工作,php,wordpress,Php,Wordpress,首先,我花了大约3个小时阅读和尝试不同的解决方案,所以我想让你们知道我并没有直接问这个问题 我接管了一个网站,该网站为教员设置了自定义字段->字段组 原代码为: query_posts(array( 'posts_per_page' => 15, 'post_type' => 'faculty', 'paged' => $paged, 'orderby' => 'menu_order', 'order' => 'ASC'
query_posts(array(
'posts_per_page' => 15,
'post_type' => 'faculty',
'paged' => $paged,
'orderby' => 'menu_order',
'order' => 'ASC'
))
我把它换成了
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'faculty',
'orderby' => 'meta_value_num',
'meta_key' => 'sort_field',
'order' => 'ASC',
'posts_per_page' => 100,
'paged' => $paged
);
$the_query = new WP_Query( $args );
并尝试了一系列的变化,但没有任何运气。明确地说,我的目标是将排序添加到教员字段组,我的方法是添加一个名为“sort_field”的字段,在该字段中他们可以键入一个数字,然后此sql查询将以正确的顺序返回结果
这是var_dump$query->request的结果
"SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) WHERE 1=1 AND ( wp_postmeta.meta_key = 'sort_field' ) AND wp_posts.post_type = 'faculty' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'acf-disabled' OR wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value+0 ASC LIMIT 0, 100"
编辑:
我试着用Jordi的链接重做我的方法
$posts = get_posts(array(
'post_type' => 'faculty',
'posts_per_page' => -1,
'meta_key' => 'sort_field',
'orderby' => 'meta_value_num',
'order' => 'ASC'
));
print_r($posts);
我没有得到任何结果,因为它的ACF列需要在查询中重新命名,还需要指定它的类型。这有点奇怪,但事实就是这样。为此,您使用了一些对所有结果都有效的“单调”元查询条件
$quoteRulesAgs = [
'post_type' => 'custompost',
'post_status' => 'publish',
'posts_per_page' => 200,
"meta_query" => array(
"rule_order_custom" => array(
"key" => "rule_order",
"compare" => ">=",
"value" => -100000,
'type' => 'numeric'
)
),
'orderby' => [
'rule_order_custom' => 'ASC'
]
];
Order by和“rule\u Order”不起作用,但在我输入了一些无意义的条件后,使用“rule\u Order\u custom”时,rule\u Order列始终大于0,还必须指定类型,否则它会将其排序为字符串。看起来您的站点使用了ACF。你检查过了吗?当你说不工作时,你能详细说明一下吗?你有错误吗?它是否正确获得帖子,但它们不是您期望的帖子?如果不知道不工作的背景,真的很难提供帮助…谢谢你的提问。上述查询不返回任何结果。在我尝试过的其他变体中,它根本没有排序。谢谢Jordi Nebot的链接。我通读了这篇文章,似乎我在做我最初的问题中所说的事情。如果您想让我做任何更改,请告知。