首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改作者库和作者链接中的段塞

问更改作者库和作者链接中的段塞
EN

WordPress Development用户
提问于 2019-02-20 08:43:34
回答 1查看 189关注 0票数 0

Hello试图将作者链接从mysite/ author /用户名更改为mysite/companies/dataFromUserMetabox

我尝试了这个答案字符作者url的方法

它的工作方式更改了url,但问题是当我试图在author.php模板中获得作者id时

代码语言:javascript
复制
if ( $author_id = get_query_var( 'author' ) ) { 
  var_dump($author_id);
 } else {
    echo 'no author id';
 }

链接mysite/companies/dataFromUserMetabox返回false

但是链接mysite/companies/username返回作者id

默认的作者段塞--即使是新的作者基础“公司”也能工作,但是新的段塞没有用,所以我猜想把基础从作者改为公司没有什么错。

EN

回答 1

WordPress Development用户

发布于 2019-02-20 10:12:52

我发现我做错了什么,我就像我提到的那样用这个部分

代码语言:javascript
复制
add_filter( 'request', 'wpse5742_request' );
function wpse5742_request( $query_vars )
{
if ( array_key_exists( 'author_name', $query_vars ) ) {
    global $wpdb;
    $author_id = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key='nickname' AND meta_value = %s", $query_vars['author_name'] ) );
    if ( $author_id ) {
        $query_vars['author'] = $author_id;
        unset( $query_vars['author_name'] );    
    }
}
return $query_vars;
}

并使用我的自定义metabox元键在$author_id = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key='nickname' AND meta_value = %s", $query_vars['author_name'] ) );中更改了D1中的“昵称”,成功地找到了author id并将其添加到$query_vars中。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/329318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档