我尝试获取按标题升序排序的所有帖子(具有特定的自定义类型),但生成的 SQL 查询在 post_date 之后排序。代码:
$my_query = new WP_Query(
array(
'post_type' => 'member',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC',
)
);
while ($my_query->have_posts()) {
$my_query->the_post();
// get post excerpt
get_template_part('content/'.get_post_type());
// wikiwp_get_post_excerpt($post);
}
Run Code Online (Sandbox Code Playgroud)
询问:
SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'member' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'closed' OR wp_posts.post_status = 'private' OR wp_posts ='private' ') 按 wp_posts.post_date ASC 排序
我真的不明白为什么会这样。我停用了大部分插件并尝试了不同的组合,但没有成功。
$my_query:
WP_Query 对象 ( [query] => Array ( [post_type] => member [posts_per_page] => -1 [orderby] => title [order] => ASC) [query_vars] => Array ( [post_type] => member [ post_per_page] => -1 [orderby] => order [order] => ASC [error] => [m] => [p] => 0 [post_parent] => [subpost] => [subpost_id] => [ attachment] => [attachment_id] => 0 [name] => [static] => [pagename] => [page_id] => 0 [second] => [minute] => [hour] => [day] = > 0 [monthnum] => 0 [year] => 0 [w] => 0 [category_name] => [tag] => [cat] => [tag_id] => [author] => [author_name] => [feed] => [tb] => [paged] => 0 [meta_key] => [meta_value] => [preview] => [s] => [sentence] => [title] => [fields] = > [menu_order] => [嵌入] =>[category__in] => Array ( ) [category__not_in] => Array ( ) [category__and] => Array ( ) [post__in] => Array ( ) [post__not_in] => Array ( ) [post_name__in] => Array ( ) [tag__in ] => Array ( ) [tag__not_in] => Array ( ) [tag__and] => Array ( ) [tag_slug__in] => Array ( ) [tag_slug__and] => Array ( ) [post_parent__in] => Array ( ) [post_parent__not_in] = > Array ( ) [author__in] => Array ( ) [author__not_in] => Array ( ) [ignore_sticky_posts] => [suppress_filters] => [cache_results] => 1 [update_post_term_cache] => 1 [lazy_load_term_meta] => 1 [update_post_ ] => 1 [nopaging] => 1 [comments_per_page] => 50 [no_found_rows] => ) [tax_query] => WP_Tax_Query 对象( [queries] => Array ( ) [relation] => AND [table_aliases:protected] = >Array ( ) [queried_terms] => Array ( ) [primary_table] => wp_posts [primary_id_column] => ID ) [meta_query] => WP_Meta_Query Object ( [queries] => Array ( ) [relation] => [meta_table] => [meta_id_column] => [primary_table] => [primary_id_column] => [table_aliases:protected] => Array ( ) [clauses:protected] => Array ( ) [has_or_relation:protected] => ) [date_query] => [request ] => SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'member' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'closed' OR wp_posts.post_status = 'private' OR wp_posts = '隐藏') ORDER BY wp_posts.post_date ASC ))WP_Meta_Query 对象 ( [查询] => Array ( ) [relation] => [meta_table] => [meta_id_column] => [primary_table] => [primary_id_column] => [table_aliases:protected] => Array () [clauses:protected ] => Array ( ) [has_or_relation:protected] => ) [date_query] => [request] => SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'member' AND (wp_posts.post_status = 'publish ' OR wp_posts.post_status = 'closed' OR wp_posts.post_status = 'private' OR wp_posts.post_status = 'hidden') ORDER BY wp_posts.post_date ASC ))WP_Meta_Query 对象 ( [查询] => Array ( ) [relation] => [meta_table] => [meta_id_column] => [primary_table] => [primary_id_column] => [table_aliases:protected] => Array () [clauses:protected ] => Array ( ) [has_or_relation:protected] => ) [date_query] => [request] => SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'member' AND (wp_posts.post_status = 'publish ' OR wp_posts.post_status = 'closed' OR wp_posts.post_status = 'private' OR wp_posts.post_status = 'hidden') ORDER BY wp_posts.post_date ASC ))数组 ( ) [has_or_relation:protected] => ) [date_query] => [request] => SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'member' AND (wp_posts.post_status = 'publish' OR wp_posts .post_status = 'closed' OR wp_posts.post_status = 'private' OR wp_posts.post_status = 'hidden') ORDER BY wp_posts.post_date ASC ))数组 ( ) [has_or_relation:protected] => ) [date_query] => [request] => SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'member' AND (wp_posts.post_status = 'publish' OR wp_posts .post_status = 'closed' OR wp_posts.post_status = 'private' OR wp_posts.post_status = 'hidden') ORDER BY wp_posts.post_date ASC ))
小智 7
你的代码看起来是正确的。我想看看您是否在其他地方有任何代码,例如更改您创建的查询输出的过滤器。听起来您可能有类似的情况,因为您的帖子循环是正确的。
$args = array(
'post_type' => 'member',
'posts_per_page' => '-1',
'order' => 'ASC',
'orderby' => 'title',
);
$my_query = new WP_Query( $args );
if ( $my_query->have_posts() ) {
while ( $my_query->have_posts() ) {
$my_query->the_post();
get_template_part('content/'.get_post_type());
}
}
wp_reset_postdata();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11803 次 |
| 最近记录: |