WordPress每月存档链接导致404

时间:2014-02-26 作者:user47912

当我在侧栏中使用存档小部件时,它会创建正常的每月存档后列表,如下所示:

2014年2月,2014年1月,2013年10月,依此类推。每当我点击这些链接,我就会看到404页。

存档小部件为每月列表生成的URL采用以下格式:

www.mysite。com/PENDER/2014/02/

但是,手动输入以下url样式有效:

www.mysite。com/行人/?post\\u type=新闻(&U);年份=2014年;月数=02

这正是我所期望看到的(2014年2月的所有帖子)。

我相信下面的代码可以解决我的问题,但我不知道该把它放在哪里。

// Add day archive (and pagination)
add_rewrite_rule("pedestrian/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/?([0-9]{1,})/?",\'index.php?post_type=news&year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]\',\'top\');
add_rewrite_rule("pedestrian/([0-9]{4})/([0-9]{2})/([0-9]{2})/?",\'index.php?post_type=news&year=$matches[1]&monthnum=$matches[2]&day=$matches[3]\',\'top\');

// Add month archive (and pagination)
add_rewrite_rule("pedestrian/([0-9]{4})/([0-9]{2})/page/?([0-9]{1,})/?",\'index.php?post_type=news&year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]\',\'top\');
add_rewrite_rule("pedestrian/([0-9]{4})/([0-9]{2})/?",\'index.php?post_type=news&year=$matches[1]&monthnum=$matches[2]\',\'top\');

// Add year archive (and pagination)
add_rewrite_rule("pedestrian/([0-9]{4})/page/?([0-9]{1,})/?",\'index.php?post_type=news&year=$matches[1]&paged=$matches[2]\',\'top\');
add_rewrite_rule("pedestrian/([0-9]{4})/?",\'index.php?post_type=news&year=$matches[1]\',\'top\');
那么,我是否在正确的轨道上,如果是的话,我应该把代码放在哪里?谢谢

1 个回复
SO网友:Wrought_steel

看起来您需要将新闻自定义帖子类型添加到存档页面的查询中(我也有同样的问题)。

Codex: custom post types to query

将此代码添加到函数中

    // Show posts of \'post\', and \'news\' post types on archive page
add_action( \'pre_get_posts\', \'add_my_post_types_to_query\' );

function add_my_post_types_to_query( $query ) {
    if ( is_archive() && $query->is_main_query() )
        $query->set( \'post_type\', array( \'post\', \'news\' ) );
    return $query;
}
只需检查您的管理员帖子列表是否不受影响。

结束

相关推荐