我在一个具有大型产品数据库的WordPress站点上工作。我需要列出所有产品,只有一个分类法术语例外。使用wp_query()会创建一个巨大的对象,并且需要很长时间。此外,出于某些原因,我的论点不会将产品排除在我不想列出的一个分类术语之外。以下是我当前的查询:
$args = array(
'post_type' => 'products',
'post_status' => 'publish',
'orderby' => 'post_title',
'numberposts' => -1,
'tax_query' => array(
'taxonomy' => 'product-main-cats',
'field' => 'term_id',
'terms' => array(23),
'operator' => 'NOT IN',
),
);
$prods = new WP_Query( $args );我想使用wpdb类重写这个查询,以便只获取清单所需的内容,而不是获取庞大的wp_query()对象。我只需要wp_post表中的ID和post_title列。我只是不确定mySQL的语法,尤其是排除与单个分类术语相关的帖子时。有人能帮我重写这篇文章吗?
蒂娅!
发布于 2017-05-11 13:52:02
你可以通过$wpdb写这个查询,我已经在你的WP_Query下面附上了一个sql查询版本。
global $wpdb;
$results = $wpdb->get_results( "SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'products' AND ((wp_posts.post_status = 'publish')) ORDER BY wp_posts.post_title DESC", ARRAY_A );https://stackoverflow.com/questions/43904571
复制相似问题