検索
ホームページCMS チュートリアル&#&プレスWordPress Visual Editorにカスタム機能を追加します

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 までご連絡ください。
WordPressでコンテンツを管理するのはどれくらい簡単ですか?WordPressでコンテンツを管理するのはどれくらい簡単ですか?May 09, 2025 am 12:11 AM

wordpressisuser-friendlyduetoitsIntutiveInterfaceandcms、それはfromdesign.itoffersarichtexteditorを使用することを検出するためにcreationAndialibraryfororganization.its flexivitiesisivedyvysencedancevancevencevencedemourthemoursemasensansandyansemas canimpactperomance

WordPressはビジネス設定でどのように使用されていますか?WordPressはビジネス設定でどのように使用されていますか?May 08, 2025 am 12:04 AM

wordpressisutableforbusinesssettings.1)ituportse-commercewithwoocommerce、productmanagementandpaymentprocessing.2)itservesasacmsforcoporateblogs、entancingseoandengagement.3)customizationibultiblewithwithwithsemesandplugins.3)

WordPressに適していないWebサイトは何ですか?WordPressに適していないWebサイトは何ですか?May 07, 2025 am 12:10 AM

wordpressisnotidealforhigh-trafficwebsites、customandcomplexApplications、セキュリティ感覚化、リアルチメダタプロセシング、および高地識別型インターフェース、forhhigh-trafficsites、usenext.jsorcustomsolutions; forplecluctlications、optfordjangaNgoRub

WordPressでブログを作成できますか?WordPressでブログを作成できますか?May 06, 2025 am 12:03 AM

はい、YouCanbuildAblogWithWordPress.1)BetWeenWordPress.comforbeginnersorwordpress.orgformorecontrol.2)SelectAtheMetopersuerizeUourBlog'slook.3)usepluginStoenHanceFunctionality、likeSeoandsocialmedientegreation.4)

WordPressはCMSプラットフォームとしてどのくらい安全ですか?WordPressはCMSプラットフォームとしてどのくらい安全ですか?May 05, 2025 am 12:01 AM

wordpresscanbesecureifmanagedperly.1)keepthewordpresscoreupdatedtopatchvulnerabilities.2)vetandupdatepluginsandとthemes from-reputabless.3)emforcestrongwordsandusetwo-factoruthentication.4)

WordPress CMSでどのようなWebサイトを構築できますか?WordPress CMSでどのようなWebサイトを構築できますか?May 04, 2025 am 12:06 AM

wordpresscanbuildvarioustypesofwebsites:1)personalblogs、easytosetupwithemesandplugins.2)businesswebuilders.3)e-ocommerceforseamlessIntegration.4)コミュニティサイトを使用しているe-ocommerceforseamlessintegration.4)

WordPressをCMSとして使用することの長所と短所は何ですか?WordPressをCMSとして使用することの長所と短所は何ですか?May 03, 2025 am 12:09 AM

wordpressisapowerfulcmswithsifisifistadvantageandChallenges.1)それは、suser-friendlyandcustomizable、yeal forbeginners.2)その増加性をカンロードすることを抱えています

WordPressは、他の人気のあるCMSプラットフォームと比較してどうですか?WordPressは、他の人気のあるCMSプラットフォームと比較してどうですか?May 02, 2025 am 12:18 AM

wordpressexcelsineaseofuseandaptaptability、makeitideal forbeginnersandsmalltomedium-sizedinesses.1)Easeofuse:wordpressisuser-frendly.2)セキュリティ:DrupalleadSwithSecurityFeatures.3)パフォーマンス:GhostoffersexcellencedueTonode.4)scal

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター