WordPress プラグインは、公式ディレクトリに登録されているものだけで 6 万近くあります。そのなかで日本語環境に必須のプラグインが「WP Multibyte Patch」です。
昔は日本語版 WordPress に同梱されていましたが、5.0 以降は外されているので自分でインストールしましょう(サーバーのかんたんインストール機能を使うと、同時にインストールされる場合があります)。
本記事では WP Multibyte Patch の役割と設定方法を解説していきます。
WP Multibyte Patch が必要な理由
WP Multibyte Patch が必要な理由はただ一点、「日本語でも正常に動作させるため」です。
WordPress は英語圏で開発されたシステムなので、文字の扱い方が異なる日本語では一部正常に動作しません。WP Multibyte Patch はそれを補ってくれるプラグインです。
プラグインを入れなくても記事は書けますが、細かい部分でいくつか影響が出てきます。どのような役割があるのか具体的に見ていきましょう。
WP Multibyte Patch の役割
WP Multibyte Patch の主な役割は以下のとおりです。
- 投稿抜粋制御の補助機能を追加
- 内部検索時の全角スペースに対応
- 日本語ファイル名のメディアを半角英数字に修正
投稿抜粋制御の補助機能
投稿抜粋を制御する補助機能は、「日本語版 WordPress + 日本語テーマ」であればあまり関係ありません。テーマ側であらかじめ最適化されているためです。
サイトの言語を English にしていると、プラグインの ON / OFF で以下のとおり抜粋の文字数が変わります(テーマは Twenty Twenty-Three)。
サイトの言語を日本語にすると、プラグインの有無に関わらずかなり短くなります。
一般的な日本語ブログではとくに気にしなくてよいですが、マルチ言語化するなど特殊な環境なら覚えておくと役に立つかもしれません。
内部検索時の全角スペースに対応
WordPress 標準の内部検索機能だと、文字列の区切りは半角スペースしか認識してくれません。バックエンド(管理画面)でもフロントエンド(ユーザーが見る画面)でも同じです。
たとえば、以下のように「マークアップ HTML」と全角で区切って検索すると、投稿は見つかりません。
WP Multibyte Patch を有効化しておくと、全角スペースを自動的に半角スペースに修正してくれて正しい検索結果が表示されます(スペースを何個入れても変換してくれます)。
Google など一般的な検索サイトは半角も全角も区切りとして使えますから、WordPress ブログでも対応しておいたほうがよいですね。
日本語ファイル名のメディアを修正
WordPress では画像などのファイル名が日本語でもアップロードできますが、予期せぬエラーを招く可能性があります。
- 端末やシステムによっては正常に認識できない
- サーバー移転に失敗する
- サムネイル生成時に不具合が起きる
WP Multibyte Patch はそれらの問題を回避するために、日本語ファイル名を自動的に半角英数字へ変換してくれます。
Web では日本語の扱いが特殊ということですね。自分の知らないところで不具合が起きないよう、WP Multibyte Patch は必ず導入しておきましょう。
WP Multibyte Patch 設定方法
WP Multibyte Patch は、一般的なブログであればとくに設定の必要はありません。ただインストール・有効化しておけば OK です。
設定画面は用意されていないので、もし何らかの調整をする場合は指定の場所にファイルをアップロードし、編集してください。
インストール・有効化
プラグイン新規追加画面で「WP Multibyte Patch」を検索し、「今すぐインストール」をクリック。
インストール完了後、「有効化」をクリック。
「プラグインを有効化しました。」と表示されていれば完了です。
設定方法
設定が必要な場合、プラグインに含まれているwpmp-config-sample-ja.php
を FTP でダウンロードして使います。
wp-content
>plugins
>wp-multibyte-patch
ダウンロードしたファイルを複製し、wpmp-config.php
に変更しておきましょう。
中身を編集したら、wp-content
直下にアップロードします。
編集方法は、WP Multibyte Patch 公式サイト に記載されているとおり。wpmp-config.php
にもコメントが入っているので、迷うことはないと思います。
たとえば、抜粋文字数を変更したいなら 25 行目の $wpmp_conf['excerpt_mblength'] = 110;
を任意の数値に変更すれば OK です。
<?php
/**
* WordPress 日本語版用 WP Multibyte Patch 設定ファイル
*
* このファイルを利用してデフォルトの設定値を任意に上書きすることができます。
* 設定を有効化するには、下記の場所へこのファイルを変名コピーして内容を編集してください。
*
* /wp-content/wpmp-config.php
*
* マルチサイトインストール環境では、下記ファイル名にすることで各ブログごとに設定ファイルを持つことができます。
*
* /wp-content/wpmp-config-blog-{BLOG ID}.php
*
* 設定の詳細は {@link http://eastcoder.com/code/wp-multibyte-patch/} を参照してください。
*
* @package WP_Multibyte_Patch
*/
/**
* 投稿抜粋の最大文字数
*
* この設定は the_excerpt() とその関連の抜粋系関数に適用されます。
* この設定は $wpmp_conf['patch_wp_trim_excerpt'] が false の場合は無効となります。
*/
$wpmp_conf['excerpt_mblength'] = 110;
/**
* 投稿抜粋末尾に出力される more 文字列
*
* この設定は the_excerpt() とその関連の抜粋系関数に適用されます。
* この設定は $wpmp_conf['patch_wp_trim_excerpt'] が false の場合は無効となります。
*/
$wpmp_conf['excerpt_more'] = ' […]';
/**
* get_comment_excerpt() 抜粋の最大文字数
*
* この設定は comment_excerpt() (ダッシュボード > アクティビティ > コメント の抜粋で利用) に適用されます。
* この設定は $wpmp_conf['patch_get_comment_excerpt'] が false の場合は無効となります。
*/
$wpmp_conf['comment_excerpt_mblength'] = 40;
/**
* ダッシュボード「下書き」抜粋の最大文字数
*
* この設定は、ダッシュボード > クイックドラフト > 下書き の抜粋に適用されます。
* この設定は $wpmp_conf['patch_dashboard_recent_drafts'] が false の場合は無効となります。
*/
$wpmp_conf['dashboard_recent_drafts_mblength'] = 40;
/**
* wp_mail() の文字エンコーディング
*
* この設定は WordPress から wp_mail() を通して送信されるメールに適用されます。
* 指定可能な値は、'JIS'、'UTF-8'、'auto' です。
* この設定は $wpmp_conf['patch_wp_mail'] が false の場合は無効となります。
*/
$wpmp_conf['mail_mode'] = 'JIS';
/**
* 管理パネルカスタム CSS の URL
*
* 管理パネルで読み込まれる CSS の URL を任意で指定することができます。
* 未指定の場合は、デフォルトの CSS が読み込まれます。
* この設定は $wpmp_conf['patch_admin_custom_css'] が false の場合は無効となります。
*/
$wpmp_conf['admin_custom_css_url'] = '';
/**
* BuddyPress bp_create_excerpt() 抜粋の最大文字数
*
* この設定は BuddyPress の bp_create_excerpt() (アクティビティストリームの抜粋で利用) に適用されます。
* この設定は $wpmp_conf['patch_bp_create_excerpt'] が false の場合は無効となります。
*/
$wpmp_conf['bp_excerpt_mblength'] = 110;
/**
* BuddyPress bp_create_excerpt() 抜粋末尾に出力される more 文字列
*
* この設定は BuddyPress の bp_create_excerpt() (アクティビティストリームの抜粋で利用) に適用されます。
* この設定は $wpmp_conf['patch_bp_create_excerpt'] が false の場合は無効となります。
*/
$wpmp_conf['bp_excerpt_more'] = ' […]';
/* 機能を個別に有効化、無効化できます。有効化するには true を、無効化するには false を指定してください。 */
$wpmp_conf['patch_wp_mail'] = false;
$wpmp_conf['patch_incoming_trackback'] = true;
$wpmp_conf['patch_incoming_pingback'] = true;
$wpmp_conf['patch_wp_trim_excerpt'] = true;
$wpmp_conf['patch_wp_trim_words'] = true;
$wpmp_conf['patch_get_comment_excerpt'] = true;
$wpmp_conf['patch_dashboard_recent_drafts'] = true;
$wpmp_conf['patch_process_search_terms'] = true;
$wpmp_conf['patch_admin_custom_css'] = true;
$wpmp_conf['patch_wplink_js'] = true;
$wpmp_conf['patch_force_character_count'] = true;
$wpmp_conf['patch_force_twentytwelve_open_sans_off'] = true;
$wpmp_conf['patch_force_twentythirteen_google_fonts_off'] = false;
$wpmp_conf['patch_force_twentyfourteen_google_fonts_off'] = false;
$wpmp_conf['patch_force_twentyfifteen_google_fonts_off'] = false;
$wpmp_conf['patch_force_twentysixteen_google_fonts_off'] = false;
$wpmp_conf['patch_force_twentyseventeen_google_fonts_off'] = false;
$wpmp_conf['patch_sanitize_file_name'] = true;
$wpmp_conf['patch_sanitize_feed_xml_text'] = false;
$wpmp_conf['patch_bp_create_excerpt'] = false;
まとめ
WP Multibyte Patch は、唯一「とりあえず入れておけば OK」のプラグインです。インストール・有効化しておくだけで自動調整してくれるので、インストールの練習にもよいかもしれません。
その他、初心者におすすめの定番プラグイン も入れておいてくださいね。