【问题标题】:mysql query for category and datemysql查询类别和日期
【发布时间】:2015-05-16 13:44:01
【问题描述】:

如何查询 wordpress 数据库,以便仅显示从某个日期开始的某个类别的帖子数?

我尝试过类似的方法,但它不起作用:

<?php
$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts WHERE term_id = '4' AND post_date >= '2014-01-01 00:00:00' " );
echo "<p>User count is {$user_count}</p>";
?>

我做错了什么?

【问题讨论】:

    标签: mysql wordpress


    【解决方案1】:

    使用 wordpress 原生 WP-Query:

    $args = array(
       'post_type'     => 'post',
       'date_query'    => array(
            'year '      => 2015,
       ),
       'cat'           => 5,
       'posts_per_page'=> -1
    );
    $query = new WP_Query( $args );
    $numberOfPosts = $query->post_count;
    

    $numberOfPosts 应该包含您要查找的号码。只需将其粘贴到您使用与我们共享的原始代码的位置即可。

    在此处阅读更多信息:https://codex.wordpress.org/Class_Reference/WP_Query

    摘自上述网址:

    posts_per_page (int) - 每页显示的帖子数(适用于版本 2.1,替换了 showposts 参数)。使用 'posts_per_page'=>-1 显示所有帖子('offset' 参数被 -1 值忽略)。如果在使用此参数后关闭分页,则设置 'paged' 参数。注意:如果查询在提要中,wordpress 会使用存储的“posts_per_rss”选项覆盖此参数。要重新设置限制,请尝试使用“post_limits”过滤器,或过滤“pre_option_posts_per_rss”并返回 -1

    您还可以在那里找到许多其他选项来调整您的查询,以获得所需的结果。这应该会给出你现在想要的结果。

    【讨论】:

    • 我是一个 wordpress 初学者,这听起来很困难......尝试理解
    • 这是纯php。您在哪里进行上述查询?
    • ... 也是一个 php 初学者。我找到了这段代码 sn-p 并试图保留它以用于我的目的
    • 请编辑您的问题并说明您正在努力实现的目标,然后我或许可以为您提供更多帮助:)
    • 我正在使用 wordpress 4.2.2 和一个简单的自制主题。我想显示从 2015 年开始的单个类别的帖子数。
    猜你喜欢
    • 1970-01-01
    • 2015-08-12
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2011-04-23
    • 2020-10-19
    • 2014-01-07
    相关资源
    最近更新 更多