我想按照我要求的顺序收到帖子。
幸运的是,有一个查询参数 - > orderby =' post_name__in'。
但是,我按其他顺序收到帖子。
我看到了查询的请求。
下面
ORDER BY wp_posts.menu_order
我发现ORDER BY wp_posts.menu_order
是个问题。
如果我删除它然后在phpmyadmin上查询,它运行良好。
我按照我想要的顺序收到帖子。
那么,如何使用hook&amp;删除<a [attr.disabled]="someCondition ? true: null"></a>
。过滤器或其他一些wordpressful方式?
答案 0 :(得分:2)
我找到了答案!
由于帖子类型订单插件而添加了wp_posts.menu_order
。
在这个插件中,
add_filter('posts_orderby', array($this, 'posts_orderby'), 99, 2);
~
~
~
//check for ignore_custom_sort
if (isset($query->query_vars['ignore_custom_sort']) && $query>query_vars['ignore_custom_sort'] === TRUE)
return $orderBy;
if(trim($orderBy) == '')
$orderBy = "{$wpdb->posts}.menu_order " . $order;
else
$orderBy = "{$wpdb->posts}.menu_order". $order .", " . $orderBy;
~
~
return $orderBy;
因此,我将$args['ignore_custom_sort'] = true
添加到我的查询参数中。
这很有效!
答案 1 :(得分:0)
另一个不直接更改插件的解决方案是删除帖子类型顺序。我发现另一个叫做“直观的自定义邮政订单”,它不会影响我们不想订购的订单,而且更完整。