作者日期函数未按预期工作

时间:2019-02-09 作者:JoaMika

我想知道作者是否在过去30天内发表过文章,但即使作者在过去30天内没有发表过文章,这也会返回TRUE。

      <?php $args = array(
\'post_type\' => \'post\',
\'post_status\' => \'publish\',
\'author\' => get_current_user_id(), 
\'date_query\' => array(array(\'after\' => date(\'Y-m-d\', strtotime(\'-30 days\')), \'inclusive\' => true,),)
, \'fields\' => \'ids\',);
$wp_posts = get_posts($args);
if(count($wp_posts)) : ?>
        <div>Author posted within the last 30 days</div>
      <?php else : ?>
       <div>Author did not post within the last 30 days</div>
      <?php endif; ?>
我不知道我做错了什么。

1 个回复
最合适的回答,由SO网友:tmdesigned 整理而成

实际上,您的函数按您所描述的那样工作。

我将你的功能复制到我网站上的页面模板中,根本没有修改它。我用我的主要用户测试了它,它已经发布了,它说我已经发布了。

然后,我创建了一个尚未发布的虚拟用户。我测试了同一个页面,它说我没有发布。我还发布了一篇回溯了30多天的帖子,它仍然说我在过去30天内没有发布过。

所有这些都是出于设计。

要记住几点:

您没有在查询中指定要检索的帖子类型。你确定你正在测试的用户没有发布任何类型的帖子吗?i、 e.自定义帖子类型、页面、通过插件的联系表单等。

您的代码也始终在检查当前登录的用户。确保这就是你想要的。

相关推荐

初学者问题:通过管理Web界面访问Functions.php以导入自定义帖子类型?

是否可以访问这些功能。php文件仅仅使用管理web界面?我正在尝试访问以前创建的(手动编码的)自定义帖子类型,我不得不跳过很多障碍,因为我无法访问函数中的代码。php文件。我已经浏览了很多帮助页面,但建议的步骤似乎总是涉及到函数。php文件(我无法访问)或使用插件中的导入/导出工具,该插件首先创建了自定义帖子类型(据我所知,没有使用任何插件)。这似乎是一个非常基本的问题,但我一辈子都想不出来。任何帮助都将不胜感激!