我对运行在WP 3.3上的一个站点有一个问题,当我们通过“/%post\\u id%/%postname%/”使永久链接成为任何内容时,归档页面会断开并变成404。
经过一些研究,我明白了为什么从性能的角度来看,这不是一个好的做法,所以我尝试了建议的备选方案:“/%year%/%postname%/”和“/%post\\u id%/%postname%/”
这两个建议都有效,只是只有使用post\\u id的建议,归档URL才会变成“/date/2012/11/”,并被找到。根据permalink的任何其他建议,他们只是以“/2012/11/”为例,生产了404。
现在的问题是,当永久链接为“/%post\\u id%/%postname%/”时,为什么WP只在其中输入“date”一词?
我认为它与“日期”部分配合使用,因为它与“/日期/%年%/%月%/”匹配。
如前所述,类别和标记URL像往常一样出现并发挥作用:例如“/类别/新闻”和“/标记/建议/”。
SO网友:Milo
现在的问题是,当永久链接为“/%post\\u id%/%postname%/”时,为什么WP只在其中输入“date”一词?
因为WP_Rewrite class 方法get_date_permastruct
仅专门查找%date%
和%post_id%
标签。
要使用其他基于数字的post permalink结构获取此日期结构,可以直接操作日期结构:
function wpa57228_date_structure() {
global $wp_rewrite;
$wp_rewrite->date_structure = $wp_rewrite->front . \'date/%year%/%monthnum%/%day%\';
}
add_action( \'init\', \'wpa57228_date_structure\' );