WordPressのエディタに日本語フォントを簡単に追加するプラグイン”Japanese font for TinyMCE”を公開しました

重要なお知らせ を読んでいただけるとありがたいです。

そして、現在、バージョン2.0に重大なバグが確認されており、すでに対応策を発見し解決しましたが、今のPCがちょっと借りてるPCなのでコミットができません。。家に帰ったらできるだけ早くコミットしますので、ヨーロッパ標準時の昼4時30分ぐらい(日本時間夜10時30分ぐらいまで)お待ちください

はい、こんにちは。

最近WordPressプラグインを初めて作ってみました。

今回は、そのプラグインの紹介をしていきたいと思います。

ちなみに、プラグインページはこちらです。

なぜ作ったのか

はい、なぜかといいますと。。コードをいちいち書くのが面倒になっただけです。あと、プラグインを作ってみたかったというのもあります。

現在次にバージョン、3.0 で追加するフォントを募集中です!

よろしければ、回答、よろしくお願いします!。


でも、一番の理由は、WordPressを日本語に翻訳するチームがあるのですが、そこのProject Translation Editorというものになってみたかったというのが理由ですw

このプラグインの用途

このプラグインは、基本てきに、文字の一部分のみのフォントを、こんな感じ に変えたりするためのものです。

現在、ふい字Noto Sans Japaneseの普通細字太字タイプ、エセナパJ、ほのか丸ゴシックというのフォントをそろえていて、これからもフォントを追加していく予定です。

このプラグインの使用方法

このプラグインは、TinyMCE Advancedのフォント選択メニューのところにフォントを追加するだけなので、基本的には、TinyMCE Advancedの使い方と同じだと思ってて大丈夫だと思います。

プラグインによるサイト表示スピードへの影響

このプラグインは、できる限りサイト表示スピードに影響しないように、フォントはすべてCDNから読み込まれ、ふい字フォントも、できる限り軽量化(1.5MBから約400KBに削減)したため、影響はそんなにないと思います。

まあ、一応プラグインがある状態とない状態のスピードをGtmetrixで測ってみました。

まずは、プラグインを有効かする前です。

そして有効化した後

あれ。。。?

ページサイズが思ったより増えましたね。。でも、個人がボランティアで運営されてる無料サーバーでこれなら有料サーバーとかすごいんだろうなー

あと、次のバージョンではロードするフォントをきちんと設定できるようにしようかな。。

バグ

はい、直そうと思っても直せないバグが2つあって、1つめのバグは、”WordPressの投稿編集画面では、フォントが反映されません。。なんでなんでしょうね。 (解決しました。報告忘れてすみません。)

そして、もう一つは、CSSを非同期かさせるプラグインや、強制的にすべてのCSSをインライン化するプラグイン等はものによって、干渉し、このプラグインが動かなくなるようです。

さらにバグを見つけた際は、教えてくれるとうれしいです。

おしまい

はい、ちょっと報告が遅れてすみませんでした。

このプラグイン、自分的には結構いいと思うので、使ってくれるとうれしいです。

23 thoughts on “WordPressのエディタに日本語フォントを簡単に追加するプラグイン”Japanese font for TinyMCE”を公開しました”

  1. いつも利用させて頂いています(ド素人です)。バージョン 4.7.4–ja のWordpressにインストールしていましたがバージョンベータ6に更新したところWordpressの投稿一覧で検索結果が空白ページの表示になり検索結果の表示ができなくなりました。現在、プラグインを停止状態にしたところWordpressが正常に戻りました。

  2. 度々スミマセン。プラグインを有効にした際に表示されていた内容を記載するのを忘れてました。「このプラグインを有効化する際に、2文字分の予期しない出力が生成されました。もし “headers already sent” エラーメッセージ、配信フィードの問題などが発生する場合は、プラグインを無効化または削除してください。」またWordpressの投稿ページ編集画面で「プレビュー」ボタンを押すとページが別ウィンドウで表示されますが、やはり同様に白紙ページです。同じ現象でした。

    1. え。。。マジですか!?
      こちらの環境では正常に表示されます。
      たぶんプラグインかテーマと干渉を起こしてる気がするので、現在有効化されてるプラグインとテーマを教えていただくか、プラグインを一回Japanese font for TinyMCE 以外すべて無効かしてもう一回やっていただけませんか?

  3. さっそくのメッセージをありがとう御座います。プラグインをすべて無効にしてもダメだッたのでテーマと干渉しているようですね・・・アップデートするまでは全く問題なく利用できていたのですが。
    テーマはSimplicityバージョン: 1.0.2 20140817です。このテーマでアップデート前までは正常にWordpressが動いていました (検索もプレビューも大丈夫でした)。現在Japanese font for TinyMCEを無効化して使っていますので、取り敢えずは大丈夫です。ありがとう御座いました。

    1. うーん。。どうなってるんでしょう。。。
      このサイトで一時的にSimplicity2の最新版をインストールし、有効化して検証しましたが、問題は発生しませんでした。
      また、togusa さんがご使用になられているバージョンであるSimplicity バージョン1.0.2 20140817 をインストールし、同じく検証しましたが、問題は発生しませんでした。
      functions.php等に何か追記してませんか?

  4. ありがとうございます。このプラグインはウィンドウズとマックその他スマホなどのデバイスで文字化けするようなことはありますか?

    色々なデバイスで標準のフォントなのでしょうか?

    ない場合は、何か見えるものに置き換わってくれるなら良いですが、何かのデバイスでは文字化けして読めないということも予想しておく上で利用させて頂いた方が良いですか?

    1. いいえ、一応フォントはWEBフォントを使用していますので、フォントをインストールする必要はありません。
      対応ブラウザはChromeのバージョン4以上、IEは9以上、Firefoxはバージョン3.5以上、Safariはバージョン3.2以上、Operaはバージョン10以上です。
      なお、それより以前のブラウザは、そのブラウザのデフォルトフォントがロードされるようになってるはずです。

      1. 早速のお返事をありがとうございます!!!

        そうなのですね。安心して使用できます。

        いつも英語だと、相手にどう見えるのかいいプラグインなのに日本語あったらいいのに、、、と思っていたので、大変貴重でありがたいです!

        しかも、こんなに早く、問い合わせの回答が頂けるなんて・・・

        開発して頂いて誠にありがとうございます。
        嬉しく使用させて頂きます。

        ありがとうございました!

  5. Japanese font for TinyMCE、とても心地よく使わせて頂いております。
    ありがとうございます

    beta-3は問題ないのですが、beta-6はSuper Formsプラグインと相性悪いみたいですね ;;

    Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at /wp-content/plugins/japanese-font-for-tinymce/japanese-tinymce.php:34) in /wp-content/plugins/super-forms/super-forms.php on line 243

    beta-7を心よりお待ちしております。

    1. 適当にSuper FormsのZIPファイルを拝借してきて、有効化してみたところ、どちらともこのサイトで普通に動作しました。
      WordPressのバージョンと、プラグインを有効化した順番を教えていただけませんか?

      1. お返事、検証ありがとうございます。

        何故か解決しました!

        昨日は3度ほど試して同じ結果だったので、あきらめてbeta-3に戻して書き込みさせて頂きました。
        本日、お返事を見て再度beta-6にしてみたところWarningは表示されませんでした。

        わざわざ検証頂きありがとうございました。
        これからも快適に使用させて頂きます。

        1. おー
          解決したようで何よりです。これからもこのプラグインをよろしくお願いします。

  6. このプラグインを有効化する際に、4文字分の予期しない出力が生成されました。もし “headers already sent” エラーメッセージ、配信フィードの問題などが発生する場合は、プラグインを無効化または削除してください。

    bata-6をいれたときからかwordpressを4.7.5にアップデートしたときからか不明ですが、このようなメッセージがでるようになりました。
    しばらくプラグインのアップデートがされるたびに更新し、様子をみておりましたが、解決できておりませんでした。
    bata-10にアップデートした際、プラグインの編集画面をみておりますと
    ソース最後の

    ?>

    の後ろに一文字空白文字がはいってりました。
    削除して登録しなおしたところエラーメッセージは消えてなくなり有効化して使えるようになりました。
    うちの環境だけだったらよろしいのですが。

    1. うーん、それ、いろんな人から言われるんですよね。。ただ自分の環境だとなぜか再現できないんですよね。
      情報ありがとうございます!とりあえずそれ、やってみます。

  7. 以前、お世話になったtogusaです。その節はご対応頂きありがとう御座いました。

    Simplicity2で同じ「4文字の空白エラー表示」が出てしまい、投稿一覧で検索すると空白ページしか表示されずに仕方なく、ずっと停止状態にしてました。

    今回のupdateバージョンで有効化したところ、前述のエラー表示が無くなり正しく機能するようになりました。

    いつも使いたいと願っていたので本当に嬉しいです!

    ありがとう御座います!!!

    1. いやっほー
      やっとそのバグ、治りましたか。。
      よかったです!
      これから、このプラグインをよろしくお願いします。

  8. お世話になります

    プラグインを有効にすると以下のエラーが上部に出ます。
    ただ、固定ページにフォントが追加されて使えます。
    Lightning使ってます。
    プラグインを色々入れているのでそのせいですかね。

    rray() expects parameter 1 to be a valid callback, function ‘register_settings’ not found or invalid function name in /home/neco03/www/wp/wp-includes/class-wp-hook.php on line 298

    class-wp-hook.phpファイルの298行目はコメントにしています。

    エラーを探したら以下のような説明がありました。
    違っていたらごめんなさいです。

    https://wordpress.stackexchange.com/questions/182793/call-user-func-array-expects-parameter-1-to-be-a-valid-callback

    public function apply_filters( $value, $args ) {
    if ( ! $this->callbacks ) {
    return $value;
    }

    $nesting_level = $this->nesting_level++;

    $this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
    $num_args = count( $args );

    do {
    $this->current_priority[ $nesting_level ] = $priority = current( $this->iterations[ $nesting_level ] );

    foreach ( $this->callbacks[ $priority ] as $the_ ) {
    if( ! $this->doing_action ) {
    $args[ 0 ] = $value;
    }

    // Avoid the array_slice if possible.
    if ( $the_[‘accepted_args’] == 0 ) {
    $value = call_user_func_array( $the_[‘function’], array() );
    } elseif ( $the_[‘accepted_args’] >= $num_args ) {
    /*——————————*/
    /* ここが298行目です */
    /*—————————–*/
    $value = call_user_func_array( $the_[‘function’], $args );
    } else {
    $value = call_user_func_array( $the_[‘function’], array_slice( $args, 0, (int)$the_[‘accepted_args’] ) );
    }
    }
    } while ( false !== next( $this->iterations[ $nesting_level ] ) );

    unset( $this->iterations[ $nesting_level ] );
    unset( $this->current_priority[ $nesting_level ] );

    $this->nesting_level–;

    return $value;
    }

    以上です。

    1. すみません、スパム認定されてたので解除しました。
      うーん。。。
      このバグ1.3でなおしたと思ったのにまさかの再発ですか。。
      ちょっと考えます。。
      できればこの週末でバグ修正します。
      ご迷惑おかけしているようですみません。

    2. (たぶん)バグが修正されたバージョン1.5をリリースしました。
      ちなみに、こちらではそのバグはもともと表示されていなかったため、治っているかは未検証です。
      これでもまだバグが残っている場合は、またコメントしてくださると幸いです。
      (バグが治っててもコメントしてくださると嬉しいです)

  9. こんにちは。
    コメントいただいサイトのひとしです。

    エラーログはダッシュボードエラーで
    “Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘add_column’ not found or invalid function name in /home/ディレクトリ名/public_html/wp-includes/class-wp-hook.php on line 298”

    これだったと思います。定かでなく申し訳ないです。
    現在のバージョンでサイド同じ設定を構築したところエラーは出てないようですので、私の記事は修正しときました><

    お心遣いいただきありがとうございます!

    今後もよろしくお願いします!

    1. わざわざご報告ありがとうございました!
      一応バージョン2.0に到達する前にひどいバグは直していきたかったので。。
      最新バージョンでは普通に動くようでよかったです!
      わざわざ記事の修正までありがとうございました。
      今後ともこのプラグインをよろしくお願いします。

  10. めちゃくちゃいいです(*゚▽゚*)
    本当に嬉しいのでお礼のコメントさせて頂きました!

    1. わざわざコメントありがとうございます!
      これからも時々バグが発生するかもしれませんが、温かく見守ってくださるとうれしいです。
      これからもこのプラグインをよろしくお願いします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です