目次
キーテイクアウト
MCE_EXTERNAL_PLUGINS:外部TINYMCEプラグイン(https://codex.wordpress.org/plugin_api/filter_reference/mce_external_plugins)
実行するコマンドを定義する
ホームページ CMS チュートリアル &#&プレス WordPress Visual Editorにカスタム機能を追加します

WordPress Visual Editorにカスタム機能を追加します

Feb 16, 2025 pm 01:02 PM

WordPress Visual Editorにカスタム機能を追加します

キーテイクアウト

  • Tinymceエディターコントロールを搭載したWordPress Visual Editorは、CSSクラスで選択したテキストをラップするカスタムTINYMCEプラグインの作成と登録など、一意の機能を追加するためにカスタマイズできます。
  • カスタム機能を追加するには、WordPress WebサイトでTinymceプラグインを作成し、Tinymceアクションとフィルターを登録し、Tinymceフィルター(MCE_EXTERNAL_PLUGINSおよびMCE_BUTTONS)を使用して外部TINYMCEプラグインをロードし、Tinymce Tloglbarbarにボタンを追加/削除する必要があります。 。
  • カスタム機能は、Tinymceボタンの出力方法とクリックしたときに何をすべきかを伝えるJavaScriptプラグインを作成することで追加することもできます。これには、Tinymce Plugin Managerクラスを使用してプラグインをTinymceに追加し、AddButton関数を使用してボタンを登録し、AddCommand関数を使用してコマンドを登録します。
  • プラグインを使用してコーディングせずにWordPress Visual Editorをカスタマイズすることができます。この目的のための人気のあるプラグインには、Tinymce Advanced、WP Edit、および究極のTinymceが含まれます。
  • コンテンツエディターは、WordPressの重要な部分です。これにより、ユーザーはコンテンツ、ギャラリー、ビデオを作成および管理できます。 また、
  • テキストビューも付属しています。これにより、ユーザーはコンテンツ内にHTMLを挿入または修正できます。

    WordPress Visual Editorは、WysiWygビューと表示されるフォーマットボタンを提供するTinymceエディターコントロールを搭載しています。 Tinymce APIとWordPressのフィルターフックのおかげで、WordPress Visual Editorに独自の機能を追加できます。具体的には、CSSクラスで選択したテキストをラップするカスタムTinymceプラグインを作成および登録する方法について説明します。

    TINYMCEプラグインの作成

    WordPress Webサイトで、WP-Content/Plugins/Tinymce-Custom-Classフォルダーを作成します プラグインのファイルをここに保存するので、次のコードを使用して、次にTinymce-Custom-Class.phpというファイルを作成します。

    これにより、WordPressにプラグインに関する情報が提供され、Tinymceアクションとフィルターを登録するコンストラクトを設定します。

    wordpress tinymceフィルターWordPress Visual Editorにカスタム機能を追加します

    Tinymceは、ビジュアルエディターツールバーに要素を登録するための2つのキーフィルターを提供します。

    MCE_EXTERNAL_PLUGINS:外部TINYMCEプラグイン(https://codex.wordpress.org/plugin_api/filter_reference/mce_external_plugins)

    のロードに使用されます

    mce_buttons:Tinymceツールバーにボタンを追加/削除するために使用されます(https://codex.wordpress.org/plugin_api/filter_reference/mce_buttons、

    mce_buttons_2、 これらのフィルターを呼び出す前に、WordPress管理画面にいることを確認したいと思います。次のコードを__constructに追加します:
<span>/**
</span><span> * Plugin Name: TinyMCE Custom Class
</span><span> * Plugin URI: https://www.sitepoint.com
</span><span> * Version: 1.0
</span><span> * Author: Tim Carr
</span><span> * Author URI: http://www.n7studios.co.uk
</span><span> * Description: TinyMCE Plugin to wrap selected text in a custom CSS class, within the Visual Editor
</span><span> * License: GPL2
</span><span> */
</span>
<span>class TinyMCE_Custom_Class {
</span>
    <span>/**
</span><span>    * Constructor. Called when the plugin is initialised.
</span><span>    */
</span>    <span>function __construct() {
</span>
    <span>}
</span>
<span>}
</span>
<span>$tinymce_custom_class = new TinyMCE_Custom_Class;</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span>/**
</span><span> * Plugin Name: TinyMCE Custom Class
</span><span> * Plugin URI: https://www.sitepoint.com
</span><span> * Version: 1.0
</span><span> * Author: Tim Carr
</span><span> * Author URI: http://www.n7studios.co.uk
</span><span> * Description: TinyMCE Plugin to wrap selected text in a custom CSS class, within the Visual Editor
</span><span> * License: GPL2
</span><span> */
</span>
<span>class TinyMCE_Custom_Class {
</span>
    <span>/**
</span><span>    * Constructor. Called when the plugin is initialised.
</span><span>    */
</span>    <span>function __construct() {
</span>
    <span>}
</span>
<span>}
</span>
<span>$tinymce_custom_class = new TinyMCE_Custom_Class;</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
これは、WordPressユーザーに記録されている現在のログが投稿またはページを編集できるかどうかをチェックします。できない場合は、ビジュアルエディターが表示されないため、そのユーザーのTINYMCEプラグインを登録する意味はありません。
<span>if ( is_admin() ) {
</span>	<span>add_action( 'init', array( &$this, 'setup_tinymce_plugin' ) );
</span><span>}</span>
ログイン後にコピー
一部のWordPressユーザーは、

ユーザー>プロフィールを介してこれをオフにするため、ユーザーがVisual Editorを使用しているかどうかを確認します。繰り返しますが、ユーザーがビジュアルエディターを使用していない場合は、他のことをする必要がないため、関数を返します。

上記のチェックが通過する場合、2つのTinymce WordPressフィルターが登録されています-MCE_EXTERNAL_PLUGINSおよびMCE_BUTTONS。

最初のフィルター-MCE_EXTERNAL_PLUGINS - Visual Editorと対話するTinymce JavaScriptプラグインファイルを登録できます。クラス内のこのフィルターの関数呼び出しを追加しましょう。

ここでは、すべてのTinymce JavaScriptプラグインを含む$ Plugin_Array内にJavaScriptファイルを登録します。

2番目のフィルター - MCE_BUTTONS - は、Visual Editorにボタンを登録したいことをTinymceに伝えます。繰り返しますが、クラス内のこのフィルターの関数呼び出しを追加しましょう。

これは、Tinymceボタン(custom_class)のプログラム名を登録します。 JavaScriptプラグインを作成

<span>/**
</span><span>* Check if the current user can edit Posts or Pages, and is using the Visual Editor
</span><span>* If so, add some filters so we can register our plugin
</span><span>*/
</span><span>function setup_tinymce_plugin() {
</span>
    <span>// Check if the logged in WordPress User can edit Posts or Pages
</span>    <span>// If not, don't register our TinyMCE plugin
</span>    <span>if ( ! current_user_can( 'edit_posts' ) && ! current_user_can( 'edit_pages' ) ) {
</span>        <span>return;
</span>    <span>}
</span>
    <span>// Check if the logged in WordPress User has the Visual Editor enabled
</span>    <span>// If not, don't register our TinyMCE plugin
</span>    <span>if ( get_user_option( 'rich_editing' ) !== 'true' ) {
</span>        <span>return;
</span>    <span>}
</span>
    <span>// Setup some filters
</span>    <span>add_filter( 'mce_external_plugins', array( &$this, 'add_tinymce_plugin' ) );
</span>    <span>add_filter( 'mce_buttons', array( &$this, 'add_tinymce_toolbar_button' ) );
</span>
<span>}</span>
ログイン後にコピー

mce_external_pluginsに電話したとき、javaScriptファイルを参照しました。次に、そのファイルを作成し、JavaScriptコードを追加する必要があります。これにより、Tinymceボタンの出力方法と、クリックしたときに何をすべきかがわかります。

Tinymce-CustomClass.jsというプラグインフォルダーに新しいファイルを作成し、次のコードを挿入します。

このjavaScript関数は、いくつかのアクションを実行します:
<span>/**
</span><span> * Adds a TinyMCE plugin compatible JS file to the TinyMCE / Visual Editor instance
</span><span> *
</span><span> * <span>@param <span>array</span> $plugin_array Array of registered TinyMCE Plugins
</span></span><span> * <span>@return <span>array</span> Modified array of registered TinyMCE Plugins
</span></span><span> */
</span><span>function add_tinymce_plugin( $plugin_array ) {
</span>
    <span>$plugin_array['custom_class'] = plugin_dir_url( __FILE__ ) . 'tinymce-custom-class.js';
</span>    <span>return $plugin_array;
</span>
<span>}</span>
ログイン後にコピー

Tinymce Plugin Managerクラスを呼び出します。これは、多くのTinymceプラグイン関連のアクションを実行するために使用できます。具体的には、追加関数を使用してプラグインをTinymceに追加しています。

addルーチン内では、エディターインスタンスを介してビジュアルエディターにアクセスできます。タイトル、コマンド、アイコンの画像で構成されるAddButton関数を使用してボタンを登録します。

最後に、addCommand関数を使用してコマンドを登録します。これは、ボタンがクリックされたときを示すアラートを示しています。

プラグインフォルダー内にicon.png画像も含める必要があります。これは、ボタンに使用されるアイコン画像です。

コードを保存し、WordPress管理>プラグインでプラグインをアクティブにします。
<span>/**
</span><span> * Adds a button to the TinyMCE / Visual Editor which the user can click
</span><span> * to insert a custom CSS class.
</span><span> *
</span><span> * <span>@param <span>array</span> $buttons Array of registered TinyMCE Buttons
</span></span><span> * <span>@return <span>array</span> Modified array of registered TinyMCE Buttons
</span></span><span> */
</span><span>function add_tinymce_toolbar_button( $buttons ) {
</span>
    <span>array_push( $buttons, 'custom_class' );
</span>    <span>return $buttons;
</span>
<span>}</span>
ログイン後にコピー
次に、ページまたは投稿を作成または編集すると、アイコンでボタンが表示されることを願っています。

ボタンをクリックすると、
    ボタンがクリックされています!
  • アラート:
  • が表示されます。
  • 実行するコマンドを定義する

    アラートをプロンプトに置き換えましょう。ユーザーに、ビジュアルエディターの選択したテキストをラップしたいCSSクラス名を尋ねましょう。

<span>/**
</span><span> * Plugin Name: TinyMCE Custom Class
</span><span> * Plugin URI: https://www.sitepoint.com
</span><span> * Version: 1.0
</span><span> * Author: Tim Carr
</span><span> * Author URI: http://www.n7studios.co.uk
</span><span> * Description: TinyMCE Plugin to wrap selected text in a custom CSS class, within the Visual Editor
</span><span> * License: GPL2
</span><span> */
</span>
<span>class TinyMCE_Custom_Class {
</span>
    <span>/**
</span><span>    * Constructor. Called when the plugin is initialised.
</span><span>    */
</span>    <span>function __construct() {
</span>
    <span>}
</span>
<span>}
</span>
<span>$tinymce_custom_class = new TinyMCE_Custom_Class;</span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
このコマンドは、ユーザーがテキストを選択し、CSSクラス名を入力してプロセスをキャンセルしなかったことを確認するために、いくつかの正気チェックを実行します。

これらのチェックが通過した場合、エディターのexecCommand関数を実行して、選択したテキストを置き換え、選択したテキストを入力されたCSSクラスを含むスパンタグに包まれています。

すべてが機能した場合は、「テキスト」ビューに切り替えてください。選択したテキストがスパンタグに包まれていることがわかります。

結論

WordPressプラグインを作成して、Tinymce Visual Editorにボタンを追加しました。このプロセスでは、WordPressがTinymceとの統合に使用するフィルターと、ボタンを追加してクリックしたときにアクションを実行するために必要なJavaScriptコードを調査しました。 WordPress Visual Editorにカスタム機能を追加します完全なソースコードをダウンロードするには、githubリポジトリまたは直接zipファイルのダウンロードリンクにアクセスしてください。

次の記事では、Tinymceプラグインをさらにカスタマイズするためにさらに高度な手順を取り上げます。 WordPress Visual Editorにカスタム機能を追加することについてのよくある質問(FAQ)

WordPress Visual Editorにカスタムボタンを追加するにはどうすればよいですか?

WordPress Visual Editorにカスタムボタンを追加すると、Tinymce APIを使用して実現できます。このAPIを使用すると、ツールバーに新しいボタンを追加して機能を定義できます。 WordPressインストールのプラグインディレクトリに新しいプラグインファイルを作成し、「MCE_BUTTONS」フィルターを使用してボタンを追加できます。次に、「mce_external_plugins」フィルターを使用してプラグインのJavaScriptファイルをロードします。これにより、ボタンの機能が定義されます。プラグインを使用してコーディングせずにWordPress Visual Editorをカスタマイズします。ツールバーにボタンを追加、削除、または再配置したり、エディターの外観を変更したり、カスタムスタイルとフォーマットを追加できるプラグインがいくつかあります。この目的のための人気のあるプラグインには、Tinymce Advanced、WP Edit、およびUltimate Tinymceが含まれます。 'tiny_mce_before_init'フィルターを使用して編集者。このフィルターを使用すると、「style_formats」オプションを含むTinymce設定アレイを変更できます。このオプションには、それぞれがスタイルを定義するアレイの配列として、カスタムスタイルを追加できます。各スタイルには、「タイトル」、「ブロック」、「クラス」、「ラッパー」プロパティが含まれている必要があります。

TINYMCEとは何ですか?また、WordPress Visual Editorとどのように関連していますか?

はい、WordPress Visual Editorは完全に応答性が高く、モバイルデバイスで使用できます。ただし、画面サイズが小さいため、「キッチンシンク」のドロップダウンにいくつかのツールバーボタンが隠されている可能性があります。 'tiny_mce_before_init'フィルターと「style_formats」オプションを使用して、WordPress Visual Editorにカスタム形式。カスタム形式を配列の配列として定義でき、それぞれが形式を定義します。各形式には、「タイトル」、「インライン」、「クラス」、「ラッパー」プロパティを含める必要があります。編集者WordPress管理エリアのユーザー>プロフィールに移動し、[視覚エディターを無効にします]オプションを確認します。 WordPress Visual Editorでショートコードを使用できます。エディターにショートコードを入力するだけで、投稿が表示されると処理されます。ツールバーの「テーブル」ボタンを使用して、ビジュアルエディター。このボタンが表示されていない場合は、Tinymce Advancedのようなプラグインをインストールして追加する必要がある場合があります。

以上がWordPress Visual Editorにカスタム機能を追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WordPressブログを始める方法:初心者向けのステップバイステップガイド WordPressブログを始める方法:初心者向けのステップバイステップガイド Apr 17, 2025 am 08:25 AM

ブログは、人々が自分の意見、意見、意見をオンラインで表現するための理想的なプラットフォームです。多くの初心者は自分のウェブサイトを構築することに熱心ですが、技術的な障壁やコストの問題を心配することをためらっています。ただし、プラットフォームが初心者の能力とニーズを満たすために進化し続けるにつれて、今まで以上に容易になり始めています。 この記事では、テーマの選択からプラグインの使用まで、セキュリティとパフォーマンスを向上させ、独自のWebサイトを簡単に作成できるように、WordPressブログを構築する方法を段階的に導きます。 ブログのトピックと方向を選択してください ドメイン名を購入したり、ホストを登録する前に、カバーする予定のトピックを特定することをお勧めします。個人的なウェブサイトは、旅行、料理、製品のレビュー、音楽、またはあなたの興味を引き起こす趣味を中心に展開できます。あなたが本当に興味を持っている領域に焦点を当てることは継続的な執筆を奨励することができます

WordPressの記事リストを調整する方法 WordPressの記事リストを調整する方法 Apr 20, 2025 am 10:48 AM

WordPressの記事リストを調整するには4つの方法があります。テーマオプションを使用し、プラグイン(投稿タイプの注文、WP投稿リスト、ボックスのものなど)を使用し、コード(functions.phpファイルに設定を追加)を使用するか、WordPressデータベースを直接変更します。

親カテゴリのアーカイブページに子カテゴリを表示する方法 親カテゴリのアーカイブページに子カテゴリを表示する方法 Apr 19, 2025 pm 11:54 PM

親カテゴリアーカイブページに子カテゴリを表示する方法を知りたいですか?分類アーカイブページをカスタマイズするときは、訪問者にとってより便利にするためにこれを行う必要がある場合があります。この記事では、親カテゴリアーカイブページに子カテゴリを簡単に表示する方法を示します。サブカテゴリが親カテゴリアーカイブページに表示されるのはなぜですか?親カテゴリアーカイブページにすべての子カテゴリを表示することにより、訪問者にとってより一般的で便利になります。たとえば、本に関するWordPressのブログを実行し、「テーマ」と呼ばれる分類法を持っている場合、「小説」、「ノンフィクション」などのサブ課題を追加して、読者ができるようにすることができます。

パーソナライズされた結果のためにWordPressでユーザー情報をログインする方法 パーソナライズされた結果のためにWordPressでユーザー情報をログインする方法 Apr 19, 2025 pm 11:57 PM

最近、ユーザーがお気に入りの投稿をパーソナライズされたライブラリに保存できるようにすることで、ユーザー向けのパーソナライズされたエクスペリエンスを作成する方法を示しました。一部の場所で名前を使用することで、パーソナライズされた結果を別のレベルに引き上げることができます(つまり、ウェルカム画面)。幸いなことに、WordPressにより、ユーザーのログインに関する情報を簡単に入手できます。この記事では、現在ログインしているユーザーに関連する情報を取得する方法を紹介します。 get_currentuserinfo()を使用します。  関数。これは、テーマ(ヘッダー、フッター、サイドバー、ページテンプレートなど)のどこでも使用できます。それが機能するためには、ユーザーをログインする必要があります。したがって、使用する必要があります

WordPressの有効期限後の日付で投稿を並べ替える方法 WordPressの有効期限後の日付で投稿を並べ替える方法 Apr 19, 2025 pm 11:48 PM

過去には、拡張後のプラグインを使用してWordPressの投稿を期限切れにする方法を共有してきました。さて、Activity List Webサイトを作成するとき、このプラグインは非常に便利であることがわかりました。期限切れのアクティビティリストを簡単に削除できます。第二に、このプラグインのおかげで、有効期限後の日付までに投稿を並べ替えることも非常に簡単です。この記事では、WordPressの有効期限後の日付で投稿を並べ替える方法を紹介します。プラグインの変更を反映してカスタムフィールド名を変更するためのコードを更新しました。コメントで私たちに知らせてくれたTajimに感謝します。特定のプロジェクトでは、イベントをカスタムポストタイプとして使用します。今

WordPressは初心者にとって簡単ですか? WordPressは初心者にとって簡単ですか? Apr 03, 2025 am 12:02 AM

WordPressは、初心者が簡単に始めることができます。 1.バックグラウンドにログインした後、ユーザーインターフェイスは直感的であり、シンプルなダッシュボードは必要なすべての関数リンクを提供します。 2。基本操作には、コンテンツの作成と編集が含まれます。 WysiWygエディターは、コンテンツの作成を簡素化します。 3.初心者は、プラグインとテーマを介してウェブサイトの機能を拡張でき、学習曲線は存在しますが、練習を通じて習得できます。

WordPressでクエリカウントとページの読み込み時間を表示する方法 WordPressでクエリカウントとページの読み込み時間を表示する方法 Apr 19, 2025 pm 11:51 PM

ユーザーの1人が、フッターにクエリの数とページの読み込み時間を表示する方法を他のWebサイトに尋ねました。これをウェブサイトのフッターでよく見ることがよくあり、「1.248秒で64クエリ」のようなものを表示する場合があります。この記事では、WordPressにクエリの数とページの読み込み時間を表示する方法を紹介します。テーマファイル(たとえば、footer.php)で好きな場所に次のコードを貼り付けます。クエリエシン

IFTTT(およびその他)でWordPressとソーシャルメディアを自動化する方法 IFTTT(およびその他)でWordPressとソーシャルメディアを自動化する方法 Apr 18, 2025 am 11:27 AM

WordPress Webサイトやソーシャルメディアアカウントを自動化する方法をお探しですか? 自動化を使用すると、WordPressのブログ投稿やFacebook、Twitter、LinkedIn、Instagramなどで自動的に共有できます。 この記事では、IFTTT、Zapier、およびUncanny Automatorを使用してWordPressとソーシャルメディアを簡単に自動化する方法を紹介します。 WordPressとソーシャルメディアを自動化する理由 WordPreを自動化します

See all articles