在帖子URL前面添加另一个单词

时间:2012-09-25 作者:SlavisaPerisic

我有一个wordpress网站,上面有很多帖子。我的问题是我需要更改URL

website.com/post-name

website.com/specialword/post-name
“specialword”是我需要在这些帖子名称前面添加的内容,但仅适用于帖子类型-帖子。

有人能帮我吗?

我非常需要这个,主要是因为SEO的目的,这样我就可以保留以前没有在wordpress中完成的网站的URL。

非常感谢。斯拉维萨

2 个回复
SO网友:Rutwick Gangurde

你可以从Settings > Permalinks.

选择Custom Structure 单选按钮,并将其置于旁边的文本字段中:

/myspecialword/%postname%
工作。

SO网友:Krzysiek Dróżdż

我认为唯一(最简单)的解决办法是改变permastruct在注册自定义帖子类型后,将其添加到永久链接结构中。

因此(在parmalinks设置中)将permalink结构设置为:/my-magic-word/%postname%/ 然后手动修改自定义帖子类型的permastructs。

可以这样做(将其添加到functions.php文件):

function my_init() {
    global $wp_rewrite;

    // Let\'s assume you register your CPT Books in here
    $args = array( \'public\' => true, \'label\' => \'Books\' );
    register_post_type( \'book\', $args );

    // after registering your CPT, you have to change it\'s permastruct
    $wp_rewrite->extra_permastructs[\'book\'][\'struct\'] = "book/%book%";  // it\'s without \'my-magic-word\' - you should do this for every CPT that should not have \'my-magic-word\' in url
}
add_action(\'init\', \'my_init\');
然后转到永久链接设置并保存它们以刷新重写规则。

附:我想你可以试着用with_front param,但我不确定它是否会比这个解决方案更容易(或者甚至可以工作)。

结束

相关推荐

Allow single quote in URLs

我有一个WordPress网站Go Daddy 运行Apache的服务器。我的经验是在Windows IIS上,所以这可能是一个简单的问题,但我无法理解。我想在我的网站上允许URL,如:http://my.site.com/biz/Jordan\'s\\U place/约旦/问题有两个方面。1) 如果我进入http://my.site.com/biz/Jordan\'s\\U place/约旦/URL很好,但如果我输入:http://my.site.com/biz/Jordan\'s\\U place/约