WordPressで英数字やカタカナの全角半角を自動で変換する方法

WordPressで英数字やカタカナの全角半角を自動で変換する方法

自分だけで運営しているサイトやブログなどであれば問題ないんですが、複数人で書いてるメディアなどは「英数字の全角半角」とか「カタカナの全角半角」が統一できてない場合もありますよね。

書き手の癖だったりするので、ルールであると伝えておいてもうっかり入ってしまうということもありますし。

というわけで、WordPressで(というかPHPで)カタカナや英数字の半角全角を自動で整える方法をご紹介します。

英数字やカタカナの全角半角を自動で変換

下記のサイトにて半角全角を自動で変換する方法を見つけました。

下記のソースコードをfunctions.phpに記述してください。

function convert_content( $data ) {
    $convert_fields = array( 'post_title', 'post_content' );
    foreach ( $convert_fields as $convert_field ) {
        $data[$convert_field] = mb_convert_kana( $data[$convert_field], 'aKV', 'UTF-8' );
    }
    return $data;
}
add_filter( 'wp_insert_post_data', 'convert_content' );

4行目の後ろの方にある「aKV」というのが変換の内容を決める記述です。

「aKV」で「全角英数字を半角に変換」「半角カタカナを全角カタカナに変換」「(Kと併用して)濁点付きの文字を一文字に変換」という意味になります。

これに「s」を加えて「asKV」とすると「全角スペースを半角に変換」も加わってより使いやすくなるかと。(これを入れると全角スペースを意識的に入れられなくなるので不便と感じる方もいるかもしれませんが。)

どのように変換されるのかは下記のページを参照してください。

最後に

WordPressの話というよりはPHPの話でした。

functions.phpにちらっと書くだけで使えるのでおすすめです。

キーワード
WordPress