是否在自定义帖子类型URL结构中添加%Author%?

时间:2011-05-05 作者:Thomas

我正在尝试重写WordPress的URL。。。

具体而言,我有自定义的帖子类型,目前的工作方式如下:

http://mydomain.com/videos/post-title/

但我希望它位于:

http://mydomain.com/videos/author-name/post-title/

有没有办法做到这一点?

4 个回复
最合适的回答,由SO网友:Bainternet 整理而成

使用Jhon的Custom Post Permalinks 插件应易于使用:

/%post_type%/%author%/%postname%/

SO网友:Jan Fabry

您可以使用自己的代码来实现这一点,而无需插件。

要接受此格式的URL,如果在注册帖子类型时设置重写slug就足够了:

add_action( \'init\', \'wpse16427_init\' );
function wpse16427_init()
{
    register_post_type( \'wpse16427\', array(
        \'label\' => \'WPSE 16427\',
        \'public\' => true,
        \'rewrite\' => array(
            \'slug\' => \'video/%author%\',
        ),
    ) );
}
这还将在以下位置生成作者存档:video/[authorname].

要生成新的URL,需要替换%author% 分开你自己,get_post_permalink() 不会为您这样做。因此,请过滤输出并自己替换:

add_filter( \'post_type_link\', \'wpse16427_post_type_link\', 10, 4 );
function wpse16427_post_type_link( $post_link, $post, $leavename, $sample )
{
    if ( \'wpse16427\' == $post->post_type ) {
        $authordata = get_userdata( $post->post_author );
        $author = $authordata->user_nicename;
        $post_link = str_replace( \'%author%\', $author, $post_link );
    }
    return $post_link;
}

SO网友:Mild Fuzz

转到管理面板中设置的permalinks部分,设置custom structure 像这样:

/%category%/%author%/%postname%/

NOTE

这假设videos 是一个类别

Check here 查看更多选项。

SO网友:PrivateUser

如果在子目录(视频)中安装wordpress,请使用以下结构

/%作者%/%postname%/

结束

相关推荐

Limit author image size

有没有办法限制用户可以上传到其个人资料中的图像的大小(尺寸)?Wordpress似乎在上传1024x768图像时做了一些限制,结果缩小到360x270,但在UI(我还没有找到)或通过代码在哪里配置?这是我所指的用户配置文件的一部分: