投稿画面でタグ一覧を表示されるようにした話

WordPress

投稿画面の右側にあるタグですがこちら、一般的には図のようにタグを追加するフォームよく使うタグが表示されるだけかと思います。

個人的な感想になってしまい申し訳ないんですが、これって結構面倒なんですよね。。。
カテゴリーの様にチェックボックス付きの一覧表示にならないのか?そんな風に思ったことありませんか?
そこで今回は、投稿画面にタグ一案が表示できる方法をご紹介させていただいます。

前にも似たようなタイトルで記事にさせて頂きましたが、そちらは「Cocoon」様のテーマの場合となります。
他のテーマでも似たように表示させる方法はあるかと思いますが「マニュアルを見るのが面倒」「調べたけどいまいちわからない」とお考えの方向けの方法を今回は紹介させて頂きたいと思います。

タグを一覧で表示させるとは下記の画像のようにすることです。

functions.phpとは?

functions.phpは、WordPressのテーマに必須のファイルの1つです。
書かれているコードは、WordPressを使う上で必要なコードが記述されており、その影響範囲はテーマや管理画面の設定などもすることができます。
そのため、functions.phpのカスタマイズをミスると、WordPress全体がエラーになってしまうこともあるのです。

編集の際はバックアップを用意しておくなど、注意が必要なファイルということをしっかり覚えておきましょう。

今回はfunction.phpを編集いたしますのでご注意ください。
編集の際はバックアップをご用意ください。

functions.phpの編集

外観 > テーマファイルエディターをクリック

画面右のテーマファイルから「function.php」をクリック

一番下に下記のコードを追加します。

/**
 * 投稿画面にタグ一覧を表示しチェックボックス選択式にする
 */
function re_register_post_tag_taxonomy() {
  $tag_slug_args = get_taxonomy('post_tag');
  $tag_slug_args->hierarchical = true;
  $tag_slug_args->meta_box_cb = 'post_categories_meta_box';
  register_taxonomy('post_tag', 'post', (array) $tag_slug_args);
}
add_action( 'init', 're_register_post_tag_taxonomy', 1 );

後はファイル更新をクリックすればOK。
これでカテゴリーのようにリスト化されてチェックボックで選択できるようになります。

注意

参考サイトにも記載されておりますが、どうやらタグの件数が多いと表示に時間が掛かる場合があるみたいですのでご注意ください。

プラグイン「Code Snippets」

functions.phpを直接いじりたくない!」という方はfunctions.phpを直接編集しなくても済むプラグインもあるので、そちらで一度試して見ると良いかもしれません。

インストール

プラグイン > 新規追加 で「Code Snippets」を検索し「今すぐインストール」をクリック。
インストール完了後はいつものように有効化を行ってください。

設定方法

画面左のメニューに「スニペット」という項目が追加されているので、そちらの項目にある「新規追加」をクリック。

あとは各項目に内容を入力していきましょう!
あとから見てもわかるように分かりやすいタイトルを入力し、コード箇所に先程のコードを貼付けます。
今回は投稿画面でのみ実行されてば良いので、「フロントエンドのみで実行」を選択。

/**
 * 投稿画面にタグ一覧を表示しチェックボックス選択式にする
 */
function re_register_post_tag_taxonomy() {
  $tag_slug_args = get_taxonomy('post_tag');
  $tag_slug_args->hierarchical = true;
  $tag_slug_args->meta_box_cb = 'post_categories_meta_box';
  register_taxonomy('post_tag', 'post', (array) $tag_slug_args);
}
add_action( 'init', 're_register_post_tag_taxonomy', 1 );

コードの説明文を書いて(書かなくてもOK)、「変更を保存して有効化」をクリックすればOKです。

すべてのスニペットを見てみると、「[投稿画面]タグの一覧表示」が追加せれており、有効化されております。

無効化したい場合はタイトル横のボタンをクリックすれば無効化できるので非常に便利ですね!

投稿画面を確認すると、直接編集したときと同様にタグが一覧で表示されてますね!

Code Snippetsに入れたコードにミスがあったとき

前述の通りfunctions.php は非常にデリケートなファイルです。
追加したコードにミスがあるとブログが真っ白になってしまうことがありますので注意しましょう。

万が一Code Snippetsを利用してコードを間違えると、エラーが表示されます。

もしもこの状態で「変更を保存」をクリックしても大丈夫。
何処でエラーが起きているのか記載れておりますので、そちらをしっかり確認し「ブラウザの戻る」で戻ってから該当箇所を修正してください。

なお「WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されました。
というメールがWordPressを設置した際に登録したメールアドレスに送られて来ますのでそちらを参照の上、修正することもできます。

万が一ブラウザの戻るでも対応できなかった場合はメール内容を確認し、「リカバリーモード」からプラグインを無効化すると良いでしょう。

おすすめ!

functions.phpを直接編集することを躊躇っている方はぜひこちらのプラグインを検討してみてください!
テーマの大型アップデートがあってもこの場合プラグインでの管理なので、非常に便利ですよ。

まとめ

今回は投稿画面でタグをカテゴリーの様にチェックボックス付きの一覧表示にする方法をご紹介させて頂きました。後半はプラグインの紹介みたいになってしまいましたが。。。

functions.phpを直接編集するにはとても勇気がいるかと思います。
編集をミスすると、エラーが出てしまい最悪ブログが真っ白…なんてこともありますので、必ずバックアップをとってから自己責任で作業を行ってください。

functions.phpを直接編集するには抵抗がある方は紹介させて頂いたプラグインを検討してみくださいね!

いつもよりもワンランク高いカスタマイズのご紹介ではありましたが、functions.phpを編集できるようになれば、プラグインを使わずに様々な機能を追加することもできますし、他サイトとは違うオリジナリティを持ったサイトになっていくことでしょう。その方が楽しいと思いませんか?

それではまた次回!

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