WordPressブロックエディタでタグをチェックボックスにして使いやすくする
function.php をカスタマイズ
WordPressでは編集時にタグ名を直接入力する仕様になっていて、使いがっては少し不便です。カテゴリーのようにチェックボックスで入力出来れば操作性が向上します。タグは関連する記事を複数のカテゴリーに渡って紐づけできる機能で、サイトの内の回遊率アップにも貢献できます。テーマに関連の記事を表示できる機能がある場合タグで関連つけて、サムネイル表示すると訴求もアップできます。
投稿のタグによる関連付けは、シンプル操作ですが、適切な入力が迅速に行えるとはいいがたいものになっています。(カテゴリーのようにリスト表示から選択することができない。)テーマに簡単なコードを追加するだけでカテゴリーと同様の使い勝手を実現することができます。
function.php にカスタマイズソースを貼り付けることで、記事編集画面でタグをチェックボックス化することができるようになります。
ダッシュボードから、外観 → テーマエディタ → function.phpを開きます。コードの内容はテーマによって異なりますが、<? php 内にコピーして追加すれば稼働します。操作に慣れていない場合はバックアップを取ることを忘れずに作業してください。
function _re_register_post_tag_taxonomy() {
$tag_slug_args = get_taxonomy('post_tag'); // returns an object
$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 );
上記のコードを追加すればページ編集モードでのタグは使いやすくなりましたが、記事一覧での絞り込み検索には対応できません。タグによる絞り込みを行うには同様にコードを追加してカスタマイズします。
追加するコードは以下のようになります。
function add_post_tag_filter() {
global $post_type;
if ( $post_type == 'post' ) {
wp_dropdown_categories( array(
'show_option_all' => 'タグ一覧',
'orderby' => 'name',
'hide_empty' => 0,
'selected' => get_query_var( 'tag' ),
'name' => 'tag',
'taxonomy' => 'post_tag',
'value_field' => 'slug',
) );
}
}
add_action( 'restrict_manage_posts', 'add_post_tag_filter' );
function reset_post_tag_filter() {
if ( isset( $_GET['tag'] ) && '0' == $_GET['tag'] ) {
unset( $_GET['tag'] );
}
}
add_action( 'load-edit.php', 'reset_post_tag_filter' );
カスタマイズするなら子テーマを利用
WordPressをカスタマイズするなら子テーマを作成しておきましょう。テーマを直接カスタマイズしてしまうと、テーマのバージョンアップ(更新)によって変更した内容が上書きされてしまい、せっかくカスタマイズしたものが標準に戻ってしまうためです。
子テーマを使うメリットは、テーマが更新されてもカスタマイズの内容を保持できるというメリットがあります。その反面、子テーマを使用するデメリットは、作成に時間や労力がかかることです。サイト自体が重くなることもデメリットの1つです。親テーマに加えて子テーマを読み込む必要があるため、サイトの表示速度が遅くなってしまいます。
WordPressの子テーマとは、親テーマの機能を継承しつつ、独自のカスタマイズを加えるための仕組みです。
子テーマの主な目的と利点:
- カスタマイズの保持: 親テーマを直接編集する代わりに子テーマを編集することで、親テーマがアップデートされてもカスタマイズ内容が上書きされるのを防ぎます。
- 安全なカスタマイズ: 親テーマのファイルを直接変更しないため、誤ってサイトを壊してしまうリスクを減らせます。
- 整理された管理: カスタマイズしたファイルは子テーマにまとまるため、管理がしやすくなります。
- 開発の効率化: 親テーマの基本的な構造やスタイルをそのまま利用できるため、一からテーマを作成するよりも効率的にカスタマイズできます。
子テーマの仕組み:
WordPressは、テーマの表示に必要なファイルを読み込む際に、まず子テーマのフォルダを探し、該当するファイルがあればそれを読み込みます。子テーマにファイルがない場合は、親テーマのファイルが読み込まれます。この仕組みにより、子テーマで必要なファイルだけを上書きしたり、追加したりすることで、親テーマの機能を変更・拡張できます。
子テーマに必要なファイル:
通常、子テーマには最低限以下の2つのファイルが必要です。
style.css
: 子テーマの情報を記述するスタイルシート。どの親テーマをベースにするかなどの情報を含みます。functions.php
: 子テーマ独自の関数を記述するファイル。
どんな時に子テーマを使うべきか:
WordPressのテーマを何らかの形でカスタマイズしたい場合は、原則として子テーマを使用することが推奨されます。例えば、以下のような場合です。
- CSSでデザインを調整したい
- PHPでテーマの機能を変更・追加したい
- テンプレートファイルを一部変更したい
WordPress初心者の方でも、CSSの簡単なカスタマイズから子テーマの利用を始めることをお勧めします。
Gutenberg への移行
「Gutenberg」は従来の「Classic Editor」から切り替えられるとアナウンスされ、公式サイトでは以下のようにコメントされています。「Classic Editor は公式な WordPress プラグインであり、少なくとも2022年まで、または必要なくなるまでの間、完全にサポート・保守されます。」
サポート終了が近くなっていますが、「Gutenberg」への移行率が低くしばらくは「Classic Editor」も利用できそうです。
メリット | デメリット |
---|---|
ブロックの種類が多い、カラムを分割することができる、ギャラリーやボタン、ウイジェットなども挿入できる。高度なデザインのページ編集ができる | 高度なデザインの記事を作るには便利ですが、高機能なことで操作が難しく感じられる |
コンテンツの色やサイズを細かく設定できる | ブロックの生成作業が面倒、記事を書き進めるたびにブロックを選択して生成する手間が発生する |
ブロックごとに簡単にコピーしたり入れ替えたりできる | クラッシックブロックがビジュアルエディタにしか対応していない |
「Gutenberg」はいづれWordPressのデフォルトエディタになることは間違いないでしょう。当初の予定では2021年12月31日で「Classic Editor」のサポートを終了するはずでした。しかし、その後思ったほど「Gutenberg」の使用率が高くないため、2022年以降、必要ならばサポート保守される方針に変更されました。
WordPress導入時から「Gutenberg」を利用しているサイトは問題ありませんが、「Classic Editor」でサイトを構築している場合はそれなりに準備をされることが推奨されます。エディタを切り替えることで表示されない等はありませんが、編集に戸惑ってしまう、編集に関するプラグインが利用できないといったことは発生します。(「Add Quick Tag」は機能しなくなります。)この際徐々に変更されるのがお勧めかもしれません。
コピペで作業する簡単なカスタマイズですが、function.phpを直接編集するので失敗するとサイトが表示されなくなったり、管理画面にログインできなくなったりします。操作に慣れていない場合はバックアップを取ることを忘れずに作業してください。復旧にはWordPressにログインしなくても作業ができるサーバーの機能を利用されると安心でしょう。
WordPress運用のポイント
WordPressは非常に人気のあるコンテンツ管理システム(CMS)で、ブログやウェブサイトの作成・運営に広く利用されています。そんなWordPressの運用にあたっては考慮すべきポイントがいくつかあります。
※有料WordPressテーマはカスタマイズが容易で、豊富な機能が装備されているのでおすすめといえるでしょう。
※SEO対策やSNSとの連携は専門知識も要求されます、外部サービスの利用を検討されてはいかがでしょう。