通常の著者リンクのリンク先を投稿ページまたはWebサイト内の他のリンクに変更することは可能ですか?
私はこの答えを見つけましたが、phpコードを買う必要があります。より簡単な方法で見つけられる可能性はありますか、バックエンドのユーザーページを形成しますか?
function wpd_author_link( $link, $author_id, $author_nicename ){
return 'http://my.blog.tld/';
}
add_filter( 'author_link', 'wpd_author_link', 20, 3 );
ありがとうございました。
あなたのテーマのfunctions.phpで、著者に関連したリンクだけを編集するには:
add_filter( 'author_link', 'new_author_link', 10, 1 );
function new_author_link( $link ) {
$link = 'http://newlink.com/'; //set this however you wish
return $link; //after you've set $link, return it to the filter
}
各作者のリンクを同じ名前の既存のwpページに設定するようなことをしたい場合(未テストの例)
add_filter( 'author_link', 'new_author_link', 10, 3 );
function new_author_link( $link, $author_id, $author_nicename ) {
$page = get_page_by_path( $author_nicename );
if ($page) {
$page = $page->ID;
$link = get_permalink( $page );
}
else {
$link = ''; //some default value perhaps
}
return $link;
}
WP Codex on によるその他の作者のフィルタ処理
WP Codex on 一般的なフィルタの詳細
すべての作者リンクをhome_url( 'link' )
にリダイレクトしようとしている場合
add_filter( 'author_link', 'new_author_link', 10, 1 );
function new_author_link( $link ) {
$link = home_url( 'link' ); //set this however you wish
return $link; //after you've set $link, return it to the filter
}
他の条件付きif/elseを達成しようとしているなら:
add_filter( 'author_link', 'new_author_link', 10, 1 );
function new_author_link( $link, $author_id, $author_nicename ) {
//send author with id one to home link
if ($author_id == '1') {
$link = home_url( 'link' ); //set this however you wish
}
//send all other authors to some other link
else {
$link = 'http://sitename.com/some-other-url/';
}
return $link; //after you've set $link, return it to the filter
}
現時点で私はこのようにしました:
add_filter( 'author_link'、 'my_multi_author_link'、10、2);関数my_multi_author_link($ url、$ user_id){
if ( 1 === $user_id )
return home_url( 'link' );
return $url;
}
add_filter( 'author_link'、 'my_multi_author_link_2'、10、2);関数my_multi_author_link_2($ url、$ user_id){
if ( 5 === $user_id )
return home_url( 'link' );
return $url;
}