你好,我正在尝试将作者链接从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
即使有了新的作者群“公司”,默认的作者群也能正常工作,但新的作者群却不能正常工作,所以我猜把作者群改成公司也没什么错
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