如何向作者档案中添加自定义URL占位符?

时间:2012-05-13 作者:james

我正在与一个拥有目录站点的客户合作,该站点允许用户创建帐户,然后从目录中创建项目列表。现在,每当用户创建帐户时,都会得到一个配置文件URL,如:

domain.com/member/%author%
这是通过一个简单的:

$wp_rewrite->author_base = \'member\';
现在,我需要允许这些用户创建一个列表,这将产生这种URL结构:

domain.com/member/%author%/%list%
到目前为止,我正在将这些列表创建为自定义帖子类型。我在WP\\U Rewrite上看到的所有文章和Stack Exchange帖子都没有涉及这样的URL重写。这可能吗?你对如何做到这一点有什么建议吗?

3 个回复
SO网友:MonteCristo

Option 1

我假设自定义post类型生成一个类似这样的URL

域。com/%自定义帖子类型%/%列表%

所以你可以把它写得像。。。由于主URL在自定义类型之前没有author,因此您必须通过函数执行此操作,因为authors是动态的

RewriteRule ^members/%author%/(.*)$ domain.com/%custom-post-type%/$1
这并没有专门修改自定义帖子类型的URL,但您应该能够根据需要进行修改https://gist.github.com/4336843

Option 2

或者,如果URL如下所示,并且自定义帖子类型没有更改,那么您应该能够在中实现这一点。htaccess,重写时考虑作者

域。com/成员/%作者%/%自定义帖子类型%/%列表%

RewriteRule ^members/(.*)/(.*)$ domain.com/members/$1/%custom-post-type%/$2
一般来说,这对重写URL有很好的解释http://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/

Option 3

此外,如果您不在其他任何地方使用,您还可以重写整个自定义帖子类型URL。。。因为

register_post_type(); 接受\'rewrite\' => array ($slug)

更多信息

http://shibashake.com/wordpress-theme/custom-post-type-permalinks

http://shibashake.com/wordpress-theme/custom-post-type-permalinks-part-2

SO网友:AriePutranto

add\\u rewrite\\u rule()应该是答案http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

或者您可以手动筛选author_rewrite_rules

SO网友:jothikannan

我希望以下插件将对您有更多帮助:http://wordpress.org/extend/plugins/permalink-editor/

该插件将根据您的需要重写permalink,而无需任何编码知识。

结束

相关推荐

Custom post type permalinks

我有一个名为“数字”的自定义帖子类型,我想实现URL的“帖子”如下http://website.com/post-name 而不是http://website.com/number/post-name.我试图将register\\u post\\u type中的“rewrite”参数设置为:\'rewrite\' => array( \'slug\' => \'\', \'with_front\' => false ), 但它没有起作用。即使我保存了永久链接设置以刷新它。(我将永久链接设