コーダーのKです。
WordPressでコラム記事寄稿型のサイトなど作成する際に、投稿者アーカイブページを作成、表示したいという時あるのではないでしょうか。
実は投稿者アーカイブはWordPress側で自動生成されてしまっており、尚且つ
1 |
サイトURL/author/ユーザーID |
のようにログイン時のIDを利用したパーマリンクが自動生成されてしまっています。ID、パスワードのうち一つがわかってしまう、、、
デフォルトのままの利用は厳しいですよね。
またユーザー登録をすると、通常の投稿と同じようにIDが付与されるのですが、
1 |
サイトURL/?author=1 |
等、1から順番に入力をしていって、ユーザーIDと合致した場合、
1 |
サイトURL/author/ユーザーID |
のページにリダイレクトされてしまい、ユーザーIDがわかってしまいます。
今回はこれらの問題を解消するために、投稿者アーカイブページのURLに任意のスラッグを指定し、
安全に利用することが出来るプラグイン「Edit Author Slug」を紹介したいと思います。
Edit Author Slugの使い方
管理画面から「Edit Author Slug」で検索をし、追加&有効化します。
その後、ユーザー編集画面を開くと最下部に以下のような設定項目が追加されています。
上からログインID、ユーザーID、ランダムなハッシュ、カスタム設定(任意の文字列)が表示されています。
例えばここのカスタム設定に任意の文字列
と入力して保存すれば、
1 |
サイトURL/author/ユーザーID |
だったパーマリンクが、
1 |
サイトURL/author/example |
に変更されます。
またプラグインを追加すると管理メニューに「投稿者スラッグ編集」という項目が追加されていますので、そこで、
1 |
サイトURL/author/ユーザーID |
のauthorに当たる文字列も変更できます。
Edit Author Slugの使用例
と、ここまでが最低限の使用方法となり、他サイトを見ても任意の文字列を指定する方法が紹介されていましたが、
複数ユーザーが登録されていくことが想定されるサイトですと、任意の文字列の場合はユーザー追加の度に文字列を考えて設定する必要があり、
一律ランダムで設定してしまっても、誰のアーカイブかURLから判別できず、運用面の不便、ユーザーから見た時のわかりづらさがあり、
またアーカイブページを外部リンク利用する場合も想定して、わかりやすいURLの方が望ましいです。
かつ寄稿型のサイトなら、むしろURLに名前を含めたい場合もあるでしょう。
そのような時のために、以下でユーザー登録時に自動で仕様に沿って、パーマリンクを生成する方法をご紹介したいと思います。
先程ご紹介した、管理メニュー「投稿者スラッグ編集」を押して、設定ページを開きますとAuthor Slug の自動生成という設定項目が下部にあります。
こちらの投稿者スラッグ構造のプルダウンをクリックすると以下の項目が出現します。
今回はnicknameを設定して保存します。
その後ユーザー編集画面に戻り、ニックネームを半角英語で入力し、ユーザーを更新をクリックします。
そうしますと、下部の投稿者スラッグ編集項目にニックネームで設定した文字列が、大文字→小文字、空白→ハイフンに置き換わった文字列が表示されますので、こちらを選択してユーザーを更新します。
これでニックネームを利用した投稿スラッグ生成、かつユーザー編集時の投稿スラッグ自動更新が可能となりました!
注意点として、投稿者スラッグにはユーザー設定項目の名前なども設定可能ですが、英語文字列しか投稿者スラッグ編集の選択肢には表示されません。
日本語は指定不可ということですね。アラートなどは表示されないので意外とわかりづらいところです。
これで表示名は日本語で投稿者アーカイブや記事ページで表示、ニックネーム=スラッグ、かつスラッグはユーザー追加時に自動生成で対応できるようになりました。
今後の運用としてニックネームは英語で入力してもらい、かつ漏れがあるようだったら、管理メニュー「投稿者スラッグ編集」の投稿者スラッグを一括更新で対応していけば大丈夫そうです。
まとめ
URLの文字列をちょっと変える、となるとそんなことか、と思いがちかもしれませんが、ユーザーIDの漏洩を防ぎ、運用面や作成時に役立つ「Edit Author Slug」、使ってみてはいかがでしょうか。