如何在帖子永久链接中使用作者ID

时间:2013-09-03 作者:Ahmed Saad

目前,Wordpress通过使用%author%在post permalink中支持作者名称。

是否可以将作者id添加到永久链接?

例如,更改此选项:

http://www.site.com/john/my-first-post

对此:

http://www.site.com/1/my-first-post

其中“1”是作者“john”的id。

1 个回复
最合适的回答,由SO网友:Andy Adams 整理而成

您可以使用几个过滤器来完成此操作:

<?php

function wpse_112719_pre_post_link( $permalink, $post, $leavename ) {
    if ( strpos( $permalink, \'%author%\' ) !== false ) {
        $authordata = get_userdata( $post->post_author );
        $author_id = $authordata->ID;
        $permalink = str_replace( \'%author%\', $author_id, $permalink );
    }

    return $permalink;
}

add_filter( \'pre_post_link\', \'wpse_112719_pre_post_link\', 10, 3 );

function wpse_112730_add_rewrite_rules() {
    add_rewrite_rule(
        "([0-9]+)/(.*)",
        \'index.php?name=$matches[2]\',
        \'top\'
    );
}

add_action( \'init\', \'wpse_112730_add_rewrite_rules\' );
现在,转到设置(&R);永久链接,并将永久链接设置设置为/%author%/%postname%/. 保存您的更改,您的链接应该会相应地工作。如果您有任何问题,请告诉我!

结束

相关推荐

wordpress permalinks tweeks

在创建任何帖子后,我都会遵循permalink结构。。。http://domain.com/wp/postname根据Permalink设置。。。。职位名称:http://domain.com/wp/sample-post/这个永久链接对于页面来说很好,但我如何才能像下面这样添加blog作为前缀。。。。http://domain.com/wp/blog/文章标题http://domain.com/wp/blog/类别/职位名称如果你需要更多信息,请告诉我,谢谢。