WordPressの投稿画面のツールバー・ショートカットキーをカスタマイズする|スマホでも快適に記事編集したい

  • WordPress
  • 2023年1月24日
PREMIUM TRADING compatible with many FX brokers
PREMIUM TRADING is the best cashback site in the English speaking world

基本的に使いやすいWordPressの管理画面

投稿記事エディターにTinyMCEを採用し、使いやすいショートカットキーで生産性の高いWordPressの投稿画面。

クラシック投稿に限る。

この記事ではWordPressの投稿画面をより使いやすくするためのカスタマイズ方法を紹介します。

WordPress 6.3でクラシック投稿画面が大改悪されてかなり使い物にならなくなりましたが、

この記事のカスタマイズ自体には影響がありません。

改悪は大問題だけど…。

ツールバーのカスタマイズ

WordPressのツールバーから不要なボタンを削除し、好きなボタンを追加します。

出先でスマートフォンから記事を編集する時にツールバーの中身に余計なものが多く不満を感じたので。

  • functions.php
add_filter('mce_buttons', function ($buttons) {
    // 削除したいボタン
    $removes = ['alignleft', 'aligncenter', 'alignright', 'wp_adv', 'wp_more'];
    $buttons = array_diff($buttons, $removes);
    $buttons[] = 'undo';
    $buttons[] = 'redo';
    $buttons[] = 'strikethrough';
    $buttons[] = 'styleselect';
    $buttons[] = 'wp_adv';
    return $buttons;
});

$removesに削除したいボタンを記載。
その後で表示したいボタンだけを改めて追加しました。
登録できるボタンの名称一覧はclass-wp-editor.phpに記載されているのでGithubなどを参照してください。
wordpress-develop/class-wp-editor.php at 6.1 · WordPress/wordpress-develop · GitHub:

なんとなく名前を見れば分かるようになっています。

$mce_buttons = array(
    'formatselect',
    'bold',
    'italic',
    'bullist',
    'numlist',
    'blockquote',
    'alignleft',
    'aligncenter',
    'alignright',
    'link',
    'wp_more',
    'spellchecker',
);
$mce_buttons_2 = array(
    'strikethrough',
    'hr',
    'forecolor',
    'pastetext',
    'removeformat',
    'charmap',
    'outdent',
    'indent',
    'undo',
    'redo',
);

ショートカットキーの追加

運用上『小文字に変換』をどうしても追加したかったのでこれだけ。

TinyMCEにsmallのフォーマット機能を追加してからショートカットキー『Alt+S』に割り当てています。

管理画面は読み込むファイルが多いためか、loadイベントに設定すると失敗することが多いので読み込んでから2秒後に実行。

  • functions.php
add_action('admin_print_scripts', function () {
    echo <<<EOS
                <script>
addEventListener('load', () => {
  setTimeout(() => {
    tinymce.activeEditor.formatter.register('small', { inline: 'small'});
    tinymce.activeEditor.shortcuts.add('Alt+S', false, () => {
       tinymce.activeEditor.execCommand('mceToggleFormat', false, 'small');
     });
  } , 2000);
});
                </script>
EOS;
});

どの機能も基本的にこんな感じでショートカットキーを割り当てられます。

WordPress6.3以降は初期状態ではTinyMCEが画面にいないので↓に修正。

        add_action('admin_print_scripts', function () {
            echo <<<EOS
                <script>
                addEventListener('load', () => {
            let timerId = setInterval(() => {
            if (tinymce.activeEditor) {
            tinymce.activeEditor.formatter.register('small', { inline: 'small'});
            tinymce.activeEditor.shortcuts.add('Alt+S', false, () => {
            tinymce.activeEditor.execCommand('mceToggleFormat', false, 'small');
        });
        }
        }, 2000);
            if (tinymce.activeEditor && tinymce.activeEditor.formatter.get('small')) {
            clearInterval(timerId);
        }
        });
            </script>
EOS;
        });

WordPress記事一覧


WordPressでアフィリエイトをするなら3桁PVでも月収10万円を達成できる
キャッシュバックサイトアフィリエイトがオススメ

PREMIUM TRADING compatible with many FX brokers
PREMIUM TRADING is the best cashback site in the English speaking world

About site

Explanation of how to trade FX & Bitcoin trade with smartphone

search

Categories

WordPress (6)
アプリ 
  • -cTrader (1)
  • -MetaTrader(メタトレーダー) (7)
  • -TradingView(トレーディングビュー) (2)
キャッシュバックサイト(リベートサイト) (27)
トレード・テクニカル考察 (28)
仮想通貨ゲームアプリ (3)
仮想通貨取引所 
  • -BINANCE(バイナンス) (2)
  • -bitbank trade(ビットバンクトレード) (1)
  • -bitbank(ビットバンク) (2)
  • -bitFlyer(ビットフライヤー) (3)
  • -BITPoint(ビットポイント) (4)
  • -Bitterz(ビッターズ) (2)
  • -BitTrade(ビットトレード) (1)
  • -c0ban取引所 (1)
  • -Coincheck(コインチェック) (1)
  • -CryptoGT(クリプトGT) (1)
  • -GMOコイン (2)
  • -Liquid by Quoine(リキッドバイコイン)(旧QUOINEX(コインエクスチェンジ)) (1)
  • -SBIバーチャル・カレンシーズ(SBIVC) (1)
  • -Zaif(ザイフ) (2)
  • -みんなのビットコイン (1)
仮想通貨関連アプリ (3)
投資日記 (5)
比較・おすすめランキング (29)
海外FX業者 
  • -Anzo Capital(アンゾーキャピタル) (2)
  • -AXIORY(アキシオリー) (4)
  • -BigBoss(ビッグボス) (2)
  • -DealFX(ディールFX) (2)
  • -Evolve Markets(エボルブ・マーケット) (1)
  • -Exness(エクスネス) (2)
  • -FBS (3)
  • -GEMFOREX(ゲムフォレックス) (2)
  • -HF Markets(HotForex) (2)
  • -iForex(アイフォレックス) (3)
  • -Land-FX(ランドFX) (2)
  • -Myfx Markets(マイFXマーケッツ) (2)
  • -TitanFX(タイタンFX) (2)
  • -TradersTrust(トレーダーズトラスト/TTCM) (2)
  • -Tradeview(トレードビュー) (1)
  • -Vantage FX(バンテージFX) (2)
  • -XM(エックスエム) (3)
節約 (7)
送金サービス (5)