固定链接问题:仅在帖子前面添加前缀

时间:2012-05-17 作者:Average Joe

我希望我所有的帖子都有/文章/%帖子名%结构。

但是,当我修改自定义结构时,出于一个让我难以理解的原因,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?

3 个回复
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

SO网友:Michael Ecklund

这个WordPress SEO Plugin by Yoast 有一个名为permalinks的部分,可以从类别URL中删除类别基(通常为/category/)。

结束

相关推荐

为什么人们默认使用“admin”用户名?

WordPress用户默认使用“admin”用户名登录管理面板,因为WordPress在安装结束时建议使用此用户名。但“admin”用户名是最常见的暴力用户名,因为在WordPress支持的大多数网站上都存在该用户名。默认情况下,WordPress不限制登录尝试。您可以使用“”限制登录尝试Limit Login Attempts插件。我在我的网站上安装了这个插件,每3-5天,每次暴力攻击者试图使用“admin”用户名时,我都会受到大约1次暴力攻击。默认情况下使用“admin”用户名有什么好处吗?