实现全局$wp_重写的正确方式是什么?

时间:2013-07-19 作者:Nick

下面的代码工作正常,但我不知道它是否正确编码。有人能确认或评论代码吗?

add_action(\'init\', \'news_rewrite\');
function news_rewrite() {
    global $wp_rewrite;
    add_permastruct(\'news\', \'news/%year%/%postname%/\', true, 1);
    add_rewrite_rule(\'news/([0-9]{4})/(.+)/?$\', \'index.php?news=$matches[2]\', \'top\');
    add_rewrite_rule(\'^news/([0-9]{4})/?\',\'index.php?post_type=news&year=$matches[1]\',\'top\');
}

1 个回复
最合适的回答,由SO网友:Ben Miller - Remember Monica 整理而成

无需在函数中定义$wp\\U rewrite。add\\u permastruct()和add\\u rewrite\\u rule()函数将为您解决这一问题。尝试删除“global$wp\\u rewrite;”行并查看代码是否仍然有效。

add\\u permastruct()函数currently accepts three parameters. 函数中有一些向后兼容性逻辑,可以更正使用旧的四参数结构的调用,但您可能希望将该行更改为使用当前的三参数结构,如下所示:

add_permastruct( \'news\', \'news/%year%/%postname%/\', array(\'with_front\' => true, \'ep_mask\' => 1) );

结束

相关推荐

Subpages Permalinks Issues

我的网站看起来像:Page-1 (page.php)。。。Subpage-1 (custom-collection.php; 自定义帖子类型)。。。。。。Filtering Output-Post (custom-collection-single.php)当我使用打开过滤输出帖子时/%postname% 对于permalinks,我得到404错误页。一些代码:custom-collection.php<?php $args = array( \'post_type\' => \'weine\