你好@Thompson:
不幸地the post name must be unique for a given post type, 和层次结构级别(如果职位类型为层次结构)。
有几种方法可以解决此问题:
使用/%post_id%-%postname%/
而不是/%post_id%/%postname%/
; 这使得它独一无二,因此不会附加任何恼人的内容-N
,并将使您的搜索引擎优化略有改善,因为重要的关键字将位于网站根目录中,而不是一个目录级别。或
如果必须具有指定的URL结构,则可以将永久链接设置为/%post_id%/
并使用\'post_link\'
和\'init\'
钩子,允许您分别将帖子名称附加到URL上,并添加与post_id
, 斜线,以及斜线之后的任何内容,但会将后两者丢弃,因为它们不用于永久链接结构:
add_filter(\'post_link\', \'mysite_post_link\',10,2);
function mysite_post_link($permalink,$post) {
$post = get_post($post);
return "{$permalink}{$post->post_name}/";
}
add_action(\'init\', \'mysite_init\');
function mysite_init() {
global $wp_rewrite;
$wp_rewrite->add_permastruct("user_submitted_post",
\'%post_id%/.*?\',
\'p=matches[1]\');
$wp_rewrite->flush_rules(); // This line is only needed once
}