覆盖作者页面的默认URL?


13

因此,显示特定作者的帖子列表的默认URL如下所示:

http://domain.com/author/{username}

我想知道如何将URL中的“作者”更改为其他内容?

我正在一家特许学校的网站上工作,他们希望允许每个老师按“教室”列出职位列表。所以所需的URL将是

http://domain.com/classroom/{username}

Answers:



15

您可以将其添加到函数中,它将把段从默认的“作者”重写为“教室”,

function new_author_base() {
    global $wp_rewrite;
    $author_slug = 'classroom';
    $wp_rewrite->author_base = $author_slug;
}
add_action('init', 'new_author_base');

希望对你有帮助


1
flush_rules()(在资源上)非常昂贵,因此我不会在每次页面加载时都调用它。如果仅对一个站点执行此操作,则可以将其省略,而仅访问“ 永久链接”页面,这也会刷新规则。
Jan Fabry 2010年

是的@Jan Fabry,您是对的,我现在编辑答案。我写了一个更好的解决方案。
菲利普(Philip)2010年

4
对于任何想知道是否使用此代码段或插件t31os的人:插件的功能完全相同,但是具有用于更改URL部分的界面。由于您可能每个月都不会对其进行更改,因此,您的代码段functions.php绰绰有余(并且不会因意外而被禁用)。
Jan Fabry 2010年


0

您可以在其中添加functions.php

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.