您需要将 WordPress 结构标签添加到您的rewrite
属性中,如下所示:
register_post_type('customtype',array(
....
'rewrite' => array('slug' => 'customtype/%year%/%monthnum%','with_front' => false)
));
然后添加一个post_type_link
过滤器来重写自定义帖子的 URL 中的结构标签,以便标签工作:
function custompost_post_type_link($url, $post) {
if ( 'customtype' == get_post_type($post) ) {
$url = str_replace( "%year%", get_the_date('Y'), $url );
$url = str_replace( "%monthnum%", get_the_date('m'), $url );
}
return $url;
}
add_filter('post_type_link', 'custompost_post_type_link', 10, 2);
关于创建这样的自定义帖子,您可以参考这篇文章以获取 copypasta 代码(尽管封装在一个类中)。这篇文章还有一些额外的解释和一些额外的功能:https ://blog.terresquall.com/2021/03/making-date-based-permalinks-for-custom-posts-in-wordpress/
编辑:顺便说一句,完成此操作后,您还需要刷新永久链接。