每天按字母顺序查询1个自定义帖子类型

时间:2016-05-18 作者:qbattersby

希望有人能帮助我——由于某种原因,我的大脑对这一点反应迟钝,我似乎无法通过谷歌搜索找到类似的例子。

例如,我有一个名为“products”的CPT,我每天需要显示该CPT中的1个产品,每天根据帖子标题按字母顺序循环浏览每个产品。

例如,如果我有以下帖子:苹果、香蕉、橘子

如果我今天实施,每天都会显示以下帖子:5月18日-苹果
5月19日-香蕉
5月20日-橙子
5月21日-苹果
5月22日-香蕉

有什么想法?帮助

1 个回复
SO网友:mistertaylor

首先,计算从开始日期算起的天数,然后取其模数和“产品”中的帖子总数。这将给出一个“帖子编号”,您可以在循环中使用该编号仅显示相关帖子。

如果你有三篇帖子$days_elapsed % $post_count 看起来像:

| days | mod |
--------------
|  0   |  0  |
|  1   |  1  |
|  2   |  2  |
|  3   |  0  |
|  4   |  1  | etc...
自发布索引编号起(post->current_post) 从零开始,可以使用if语句显示正确的post。

$start_date = new DateTime("2016-05-18");
$now = new DateTime("now");
$days_elapsed = $now->diff($start_date)->format("%a");

$args = array (
    \'post_type\' => array( \'products\' ),
    \'order\'     => \'ASC\',
    \'orderby\'   => \'title\',
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {while ( $query->have_posts() ) {$query->the_post();
        if ($post->current_post == $days_elapsed % $query->post_count) {
            the_content(); 
        }
    }
}
注意:这还没有经过测试,但应该可以让您开始。可能还有一种更优雅的方法来实现这一点,而不是遍历中的所有帖子products

相关推荐

将wp_Query替换为wp_User_Query

我在插件中制作了一些订阅者档案和单曲(个人资料页),其中我还包括了一个“用户单曲”模板,通过template_include. 不过,我正在尝试从插件中删除一些模板,以使其使用主题模板。我用了locate_template( \'single.php\' ) 从活动主题中选择单个模板。我没有使用全局wp_query 在本例中显示我的内容,但页面显示了基于查询默认值的循环(十篇帖子)。我想知道的是,我是否可以完全放弃默认查询,用wp_user_query 我可以将查询到的用户ID输入其中。然后我想筛选the