我希望我所有的帖子都有/文章/%帖子名%结构。
但是,当我修改自定义结构时,出于一个让我难以理解的原因,wordpress添加了articles
整个系统的前缀。
因此,对于我的分类页面,我最终使用如下URL
mysite.com/articles/category/videos
这里的视频是一个类别,因为我没有将类别更改为其他任何内容,所以我希望URL是好的,mysite。com/category/videos),而不是mysite。很明显,这样的URL没有意义。
在permalinks
屏幕,位于Common Settings
\'sPost name
选项,我得到一个灰显(不可编辑)的示例链接,该链接显示如下内容mysite.com/sample-post
.
我希望我能编辑那些灰色的信息
到mysite.com/articles/sample-post
同时保持其他选项不变。
但这似乎不可能。
我是不是走到了死胡同?
有没有办法只更改帖子URL而不影响其他URL?
SO网友:Fury
1) 在末尾添加此重写function.php
function add_rewrite_rules( $wp_rewrite )
{
$new_rules = array(
\'YOUR_PREFIX/(.+?)/?$\' => \'index.php?post_type=post&name=\'. $wp_rewrite->preg_index(1),
);
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_action(\'generate_rewrite_rules\', \'add_rewrite_rules\');
function change_blog_links($post_link, $id=0){
$post = get_post($id);
if( is_object($post) && $post->post_type == \'post\'){
return home_url(\'/YOUR_PREFIX/\'. $post->post_name.\'/\');
}
return $post_link;
}
add_filter(\'post_link\', \'change_blog_links\', 1, 3);
2)转到“设置”>“永久链接”,然后单击
Save Changes
.
SO网友:drivebass
Wordpress将“/类别/”默认设置为永久链接中的类别基础,即使对于类别页面也是如此。
您必须将自定义永久链接结构更改为:
/%category%/%postname%/
将“articles”(文章)放在category base(类别基本)字段中,您的永久链接(例如在类别页面)“Videos”(视频)将以以下形式显示:
mysite.com/articles/videos
它不适用于post的永久链接,因为“文章”部分将从永久链接中省略,如下所示:
mysite.com/videos/postname