WordPressでニックネームを設定してもユーザー名が表示されるElementorの場合

Web server WEB環境
Sponsored links

今までユーザー名が表に出たことは一度もなかった。

WordPressでニックネーム設定してもブログ投稿者リンクにユーザー名が出てしまう。
投稿者リンクが、https://ドメイン/author/ユーザー名 になる。
ニックネーム設定にしてるのに有効にならない。

これまで作ってきたサイトでは投稿者リンクはすべて自動でabout ページにリンクでした。
ユーザー名が表に出たことは一度もなかった。

言うまでもなくセキュリティ上の問題であとはキーワードさえ分かれば管理画面にログインできてしまうのが問題。
(もちろんログイン画面にセキュリティ対策すればそう簡単にはパスワードでは入れないけれど。)

設定には間違いはないのでテンプレートの問題と判断

調べたところ、ユーザーネームが出るのはWordPressのデフォルト仕様らしい。
Aboutページに飛ばすのは今まで使ってきたテンプレートの仕様が新設でそうなっているだけみたい。
ElementorにAstraを使っていたので、Astra子テーマのfunctions.phpとかは触らずに素直にプラグインで解決することにした。

Elementorは「投稿者ボックス」、「投稿メタ(Author)」ウィジェット
の 内部でauthor_linkを使っているらしい。

RankMath / Yoastなどを勧められたけど、もっと簡単そうでユーザーも多いCode Snippets(無料版)にした。

Code Snippets プラグイン使ったコードは以下ですけど、テーマのfunctions.phpに使うのと同じになります。
なぜプラグインで解決したか?というとテーマで修正するとアップデートで上書きされて消されます。
この場合は子テーマを使えばOKです。私は子テーマを使ってないので。
このURLとかは「about」になってるのでご自分用に正しいのかご確認ください。

add_filter( 'author_link', function( $link, $author_id ) {
    return home_url( '/about/' );
}, 10, 2 );


error:
タイトルとURLをコピーしました