更改作者链接中的作者基础和插件

时间:2019-02-20 作者:Mohamed Mokhtar

你好,我正在尝试将作者链接从mysite/author/username更改为mysite/companys/dataFromUserMetabox

我尝试了这个答案chage author url

url已更改,但问题是当我尝试在author中获取作者id时。php模板

if ( $author_id = get_query_var( \'author\' ) ) { 
  var_dump($author_id);
 } else {
    echo \'no author id\';
 }
链接mysite/companys/dataFromUserMetabox返回false

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

即使有了新的作者群“公司”,默认的作者群也能正常工作,但新的作者群却不能正常工作,所以我猜把作者群改成公司也没什么错

1 个回复
SO网友:Mohamed Mokhtar

我发现我做错了什么,我使用了我提到的这个部分

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;
}
并在中更改了meta\\u key=“昵称”$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\'] ) ); 使用我的自定义metabox元键,它成功地找到了作者id并将其添加到$query\\u vars

相关推荐

如何用ACF值替换自定义POST类型的Slug?

我在高级自定义字段中有一个下拉选择类型字段。值为视频和图像。我想替换自定义的post类型slug。目前,它是视频。我想改变我的网站。com/video/post name到mysite。com/1/post name或mysite。com/0/post名称我的意思是,当选择下拉值视频时,它将显示mysite。com/1/post名称。我可以替换post-type slug。function update_video_slug( $args, $post_type) { $cptslug