在添加任何帖子类型时生成每日存档

时间:2013-03-28 作者:Ashkas

我们在WordPress中的日期存档有一个问题,我们的每日存档(示例地址www.xxx.com/2013/01/09)仅在添加默认帖子类型的帖子时生成。未发布默认帖子类型的任何一天,都会导致404未找到。

如果我们在某一天发布了默认的帖子类型,那么通过此功能(从另一个stackexchange线程)查看所有帖子类型的文章不会有任何问题

function custom_post_date_archive($query) {
if ($query->is_date)
    $query->set( \'post_type\', array( \'news\', \'sports\', \'life\', \'opinion\', \'culture\',\'community\' ) );
    remove_action( \'pre_get_posts\', \'custom_post_date_archive\' );
}
add_action(\'pre_get_posts\', \'custom_post_date_archive\');
我们还尝试了其他功能,为每种帖子类型生成每日存档URL(例如www.xxx.com/news/2013/09/01),但这不是我们想要的URL格式。

基本上,我们希望有一种方法告诉WP在添加任何帖子类型时生成基本的每日存档URL。

然而,这在以前是可行的,当一个单独的重写函数被添加到函数文件中时,所有帖子类型的每日归档生成都停止了。我们已经尝试了所有类型的rewrie刷新,但都没有效果(虽然地址确实有效,但WP只会在发布默认帖子的情况下生成www.xxx.com/2013/01/09)。

是否有一个函数可以告诉WP在添加任何帖子类型时始终生成该地址?或者是否有其他方法来冲洗系统?

1 个回复
SO网友:Ashkas

多亏了米洛,我在调试这个方面得到了一些指导。基本上,每日存档的SQL查询中只使用了post\\u类型的“post”。我们可以通过pre\\u get\\u posts(我之前的函数使用过它,它太具体了)来实现这一点。

此页面上的函数告诉wordpress在其全局$wp\\u查询中包括所有post\\u类型。

http://uncommoncontent.com/2010/10/12/custom-post-types-in-the-loop-using-pre_get_posts-refined

结束

相关推荐

在wp_INSERT_POST()之后,DATE_I18N()和DATE()输出将调整为GMT

我在客户服务器(vps)上遇到了一个非常奇怪的问题。下面的代码在我的服务器上运行良好。基本上,特定的unix时间戳格式正确,只要调用wp\\u insert\\u post(),日期就会调整为GMT。例如:echo \"date_i18n of 1366495200: \" . date_i18n(\'Y-m-d H:i\', 1366495200 ). \'<br />\'; echo \"date of 1366495200: \" . date(\'Y-m-d H:i\', 13