首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化Wordpress查询

优化Wordpress查询
EN

Stack Overflow用户
提问于 2017-05-11 08:20:47
回答 1查看 100关注 0票数 0

我在一个具有大型产品数据库的WordPress站点上工作。我需要列出所有产品,只有一个分类法术语例外。使用wp_query()会创建一个巨大的对象,并且需要很长时间。此外,出于某些原因,我的论点不会将产品排除在我不想列出的一个分类术语之外。以下是我当前的查询:

代码语言:javascript
复制
$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的语法,尤其是排除与单个分类术语相关的帖子时。有人能帮我重写这篇文章吗?

蒂娅!

EN

回答 1

Stack Overflow用户

发布于 2017-05-11 13:52:02

你可以通过$wpdb写这个查询,我已经在你的WP_Query下面附上了一个sql查询版本。

代码语言:javascript
复制
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 );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43904571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档