オブジェクト指向コードはどこにでもあり、WordPressも例外ではありません。
WordPressのコアは、データベースの操作からサイトのルックアンドフィールまで、すべてを制御するために使用される一連のオブジェクト/クラスの上に構築されています。 このチュートリアルを通して、WordPressのために開発する際に、オブジェクト指向のデザインと、次のような開発時にこれらを実際に使用する方法を検討します。オブジェクト指向のデザインとは何かを正確に理解してください。
オブジェクト指向のデザインを使用する理由について
議論してください。- 現実世界の例を調べて、それがどのように機能するかを紹介します。
- 注1:このチュートリアルは主にWordPress Centric Conceptsの概要を示していることに注意してください。したがって、オブジェクト指向設計がまったく新しい場合は、PHPリファレンスガイドを介してOOの簡単な概要を取得する必要があります。
- 注2:すぐにすべてをダウンロードしたい場合は、GitHubリポジトリからソースをダウンロードして、チュートリアルをフォローしてください。 すぐにジャンプしましょう!
キーテイクアウト
WordPressグループのオブジェクト指向設計(OOD)クラスに関連する機能と情報をクラスに関連付け、コードの組織とメンテナンスを強化します。
oodは、カプセル化によるより良い組織、継承によるスケーラビリティ、コードの再利用と管理を容易にするためのモジュール性などの利点を提供します。チュートリアルは、WordPressでカスタムイベントショーケースを作成し、OOD原則の実装を実証する実用的な例を提供します。 この例の重要な手順には、ディレクトリ構造の設定、クラスファイルの作成、カスタムコンテンツタイプとメタボックスを追加および表示するための関数の実装が含まれます。
このガイドは、手続き上のプログラミング、組織、スケーラビリティ、およびモジュール性を強調するOODの利点を強調しています。チュートリアルは、GitHubからソースコードをダウンロードするための行動を促す際に終了し、WordPress開発プロジェクトで実証されたOODの概念を適用するよう読者に奨励しています。
とにかくオブジェクト指向のデザインとは- オブジェクトオリエンテーションデザイン(OOデザイン)は、従来の手続き的アプローチとは別の問題を解決するための別の方法論です。 オブジェクト指向のデザインを使用すると、関連するすべての機能(メソッド)と情報(プロパティ)をグループ化して問題を解決する構造(クラス)を作成します。 これは、問題を解決するために関数と変数を作成する手続き的な開発とは異なりますが、これらの要素は複数のファイルで分離し、再件名、しばしばゆるく関連しています。 一言で言えば、オブジェクト指向のデザインとは、関連する機能を単一の場所にまとめることで、単一の場所から維持、拡張、使用できるようにすることです。
- これらの「イベント」を管理するカスタムコンテンツタイプを作成します 追加情報処理を処理するために追加のメタボックスを追加します
- 追加のメタ情報を保存します。 「イベント」のメタ情報を表示します
- プラグインを作成するか、子テーマを編集してこの機能を提供することができます。 このシナリオでは、ファイルの内部に機能を作成し、子テーマに含めることができます。この方法を選択しました。なぜなら、テーマテンプレートを編集して、追加のイベント情報を出力できるようにするからです。
- ディレクトリを設定してファイルを作成する を作成します
- 後で、このディレクトリ内にjQueryタイムピッカースクリプトとスタイルをダウンロードして配置する必要があります。今のところこれについて心配しないでください。
- WordPress内にファイルをロードする
- ファイルを設定すると、子供のテーマの中にそれらを含める必要があります。 子供のテーマのfunctions.phpを開き、次のコードを上部または下部に配置します
なぜオブジェクトの方向が良いアイデアなのか?
手続きコードがうまくいったので、オブジェクト指向のアプローチで開発することのポイントは何だろうと思っているかもしれません。
手続き設計には「間違っている」ものは何もありませんが、よりオブジェクト指向のスタイルで開発することにはいくつかの利点があります。組織
コードは、オブジェクト指向のアプローチを使用する場合、一般的に整理されています。クラスを作成するということは、問題を解決するための機能がすべてファイル内にあることを意味します(関数や変数がどこにでも広がっている可能性のある手続き開発とは異なります)。
すべてのコードを1か所に置いておくと、物事を整理し、やって来てシステムの仕組みを理解する必要がある他の開発者を支援します。プロジェクトを取り上げて、サイトのさまざまな要素を作成するために使用される関数と変数を見つけるために狩りをしなければならないことほど悪いことはありません(不明な理由で複数のファイルに常に広がられています)。
スケーラビリティオブジェクト指向のアプローチで問題を解決する場合、クラスを作成します。
これらのクラスは、継承を使用して拡張することで拡張またはスケーリングできます。継承すると、新しいクラスへのすべてのプロパティと方法にアクセスできる別のクラスに基づいたクラスを作成できます。
クラスを拡張して追加の機能を実行したり、その方法とプロパティをオーバーライドして状況に応えることさえできます。手続きコードを使用すると、コードの一部をリファクタリングするか、追加の状況を処理するために完全に新しいコードを作成する必要があります。
モジュラー性オブジェクト指向設計の目的は、すべての機能をカプセル化して、クラスへの状況を解決することです。
問題を解決するためのすべてのコードはクラス内にあり、そのクラスは一般に独自のPHPファイル内にあるため、ファイル全体を取り上げて別の場所で使用できます。したがって、それは本質的にモジュール式です。
これの利点は、クラスを十分に書く場合、後でそれらを再利用できるようになり、わずかなカスタマイズを実行する必要があることです。手続きコードをコピーして貼り付けることはできますが、通常はよく整理されておらず、必要な機能を確保するために複数のファイルを使用する必要がある場合があります。
例のシナリオ - シンプルなイベントショーケースの作成このシナリオでは、クライアントがイベントを作成および管理できる場所にある場所を望んでいます。これらのイベントは、今後のトリビアナイト、ビンゴコンペティション、その他の楽しいアクティビティを促進するために使用されます。
最初のステップは、ソリューションを計画できるように、目的の機能を分解することです(ここでうまく計画することで、今後オブジェクト指向のアプローチが役立ちます)。私たちのシナリオでは、次のタスクのセットを見ることができます:
すべてが簡単に管理され、モジュール式を必要としているので、子テーマ内でフォルダー構造をセットアップすることから始めましょう。
すべてを整理する簡単な方法は、子供のテーマ内にディレクトリを含むことを作成することです。このディレクトリには、テーマに含まれる他のコードまたは機能が含まれます/実装(必要なものは何でも呼び出すことができます。目的は、テーマ内に単一のディレクトリを持つことです)。 このディレクトリ内では、別のフォルダーを作成する必要があります。今回はevent_showcaseと呼ばれます。このフォルダー内にあり、このシナリオに該当するすべてのファイルを配置します。 また、JSとCSSフォルダーも必要です。
機能をフォルダーに整理することは、今後、テーマをどのモジュール /機能が実装するかをより簡単に確認できることを意味します。たとえば、テーマに別の機能セットを実装することをお勧めします。新しいフォルダーを追加するだけで、論理的にすべてがきちんと整理されています。例のファイルを作成し、それらを正しいディレクトリに移動しましょう
event_showcase_class.php
event_showcase_admin_styles.css
event_showcase_admin_scripts.js
event_showcase_public_styles.css
event_showcase_public_scripts.js
- 以下に似たものが必要です:
クラスの作成

次のコードをクラスファイルにコピーします。
<span>//Theme functions for child theme </span> <span>//load our event showcase class </span><span>$event_showcase = get_stylesheet_directory() . '/includes/event_showcase/event_showcase_class.php'; </span><span>include($event_showcase);</span>
プロセスフローを理解できるように、メソッドとプロパティを実行しましょう。
- 変数 - クラスをよりモジュール化するためにいくつかの変数を宣言します(したがって、このファイルをコピーしていくつかのプロパティを変更すると、クラスが他の変更を処理します)。
- __ construct() - すべてのフック、フィルター、初期化コードがここにあります。 set_directory_value() - cssまたはjsディレクトリに配置するファイルを簡単にエンキューできるディレクトリプロパティを定義します。
- check_flush_rewrite_rules() - コンテンツタイプ(新しいアイテムを機能させる)を追加すると、かなりパーマリンクのフラッシングを処理します。
- enqueue_public_scripts_and_styles() - 公開されたスクリプトとスタイルをロードします enqueue_admin_scripts_and_styles() - 管理スクリプトとスタイルをロードします
- add_content_type() - 作成している新しいコンテンツタイプを定義します add_meta_boxes_for_content_type() - 新しいコンテンツタイプにメタボックスを追加します。
- display_function_for_content_type_meta_box - 追加情報を保存できるように、コンテンツタイプのバックエンド管理インターフェイスを構築します。 save_custom_content_type($ post_id) - カスタムコンテンツタイプ(およびメタ情報)の保存を処理します。
- display_additional_meta_data() - フロントエンドに保存されたメタ情報を表示します。
- 今すぐ通り抜けて、これらの要素を更新して、コードの概要
- クラスのプロパティ
- クラスの上部にあるいくつかのプロパティを宣言し、メソッドを介して参照されます。これらの目的は、彼らがこのクラスを再活性化し、将来その機能を変えることを容易にすることです。
- __ construct()
- __construct関数は魔法の関数です。これらの関数は、クラスが特定のアクションを実行するためにアクセスできる特別なPHP5関数です。 それらはすべて、名前の前にダブルアンダースコアから始まり、クラスの定義にオプションで含めることができます。すべての魔法の機能を理解することは、別の議論のために残されるのが最善です(魔法の関数と定数に関する別の記事があります)。
add_actionは、以前に見たかもしれないものとは少し異なって見えると思っているかもしれません。あなたは正しいです。
add_actionおよびadd_filter呼び出しをクラス内で使用する場合、2番目の引数を配列で提供する必要があります。配列の最初の値はこの変数(クラス自体を意味する)であり、2番目は使用される関数の名前(引用符で包まれています)です。
詳細については、WordPress CodexのADD_ACTION関数のクラスの脚注をご覧ください。set_directory_value()
CSSとJSをエンキューするため、ファイルディレクトリURLをアクセスできる変数に保存することは理にかなっています。私たちのディレクトリ構造は /include /event_showcaseですが、構造に合わせてカスタマイズできます。
<span>//Theme functions for child theme </span> <span>//load our event showcase class </span><span>$event_showcase = get_stylesheet_directory() . '/includes/event_showcase/event_showcase_class.php'; </span><span>include($event_showcase);</span>check_flush_rewrite_rules()
カスタムコンテンツタイプを追加しているため、かなりのパーマリンクを処理する必要があります。これらのパーマリンクは、http://mywebsite.com.au/?p=123を使用する代わりに、ページURLを醜くないようにする書き直しです。http://mywebsite.com.au/my-event).
書き換えにより、コンテンツタイプがきれいな形式に変換されるようになりますが、この書き換えは高価であり、過度に行われた場合はサイトを遅くすることができます。書き換えはサイトに影響を与える可能性があるため、一般的にテーマ/プラグインのアクティブ化または非アクティブ化でのみ変更されます。
パーマリンクを手動で更新したくない場合があるため、この関数はWordPressに自動的に1回だけ実行するように求めます(新しいコンテンツタイプが追加された後)。
この関数は、テーマオプションを介してWebサイトをフラッシュする必要があるかどうかを確認します。フラッシュが必要な場合は、パーマリンクを更新してから、オプションの値をfalseに設定します(したがって、ページをロードするたびにではなく、1回だけトリガーされます)。enqueue_public_scripts_and_styles()
この関数は、フロントエンドのWebサイトのスクリプトとスタイルのエンキューを処理します。
<span>/* </span><span> * Event Showcase </span><span> * Creates an 'event' content type to showcase upcoming functions and information </span><span> * Uses hooks and filters inside your theme to output relevant information </span><span> */ </span> <span>class event_showcase{ </span> <span>//variables </span> <span>private $directory = ''; </span> <span>private $singular_name = 'event'; </span> <span>private $plural_name = 'events'; </span> <span>private $content_type_name = 'event_showcase'; </span> <span>//magic function, called on creation </span> <span>public function __construct(){} </span> <span>//sets the directory (path) so that we can use this for our enqueuing </span> <span>public function set_directory_value(){} </span> <span>//check if we need to flush rewrite rules </span> <span>public function check_flush_rewrite_rules(){} </span> <span>//enqueue public scripts and styles </span> <span>public function enqueue_public_scripts_and_styles(){} </span> <span>//enqueue admin scripts and styles </span> <span>public function enqueue_admin_scripts_and_styles(){} </span> <span>//adding our new content type </span> <span>public function add_content_type(){} </span> <span>//adding meta box to save additional meta data for the content type </span> <span>public function add_meta_boxes_for_content_type(){} </span> <span>//displays the visual output of the meta box in admin (where we will save our meta data) </span> <span>public function display_function_for_content_type_meta_box($post){} </span> <span>//when saving the custom content type, save additional meta data </span> <span>public function save_custom_content_type($post_id){} </span> <span>//display additional meta information for the content type </span> <span>//@hooked using 'display_additional_meta_data' in theme </span> <span>function display_additional_meta_data(){} </span> <span>} </span> <span>//create new object </span> <span>$event_showcase = new event_showcase;</span>enqueue呼び出しのコンテンツタイプの名前を使用して、他のプラグインとの命名競合がないようにする必要がないようにします(ユニークなものに変換されます。
wp_enqueue_styleとwp_enqueue_scriptの両方を呼び出して、リソースをロードします。 また、リソースをロードするときに$ディレクトリと$ content_type_nameプロパティも使用します。
enqueue_admin_scripts_and_styles()
この関数は、管理者のバックエンドでWebサイトのスクリプトとスタイルのエンキューを処理します。
コンテンツタイプの編集画面または新しい画面に表示されているかどうかを確認してください。wp_enqueue_styleとwp_enqueue_scriptの両方を呼び出して、本質的に私たちのパブリック関数と同じようにリソースをロードします。
この例では、jQuery UI DatePicker(jQuery UIライブラリの一部)とjQuery UI Time Picker(Date Pickerと同様のスタイルを持つように構築されている)の両方を使用しています。上記のリンクからタイムピッカーライブラリをダウンロードして、ディレクトリ内に関連するCSSおよびJSファイルを含めてください。
<span>//variables </span><span>private $directory = ''; </span><span>private $singular_name = 'event'; </span><span>private $plural_name = 'events'; </span><span>private $content_type_name = 'event_showcase';</span>add_content_type()
この関数でカスタムコンテンツタイプを宣言します。
カスタムコンテンツタイプの登録に関するより詳細なアウトラインについて
ここにコンテンツタイプに必要なメタボックスを追加します。 add_meta_box関数を呼び出して、機能を提供します。短編小説は、これを使用して新しい管理者ボックスを作成して、保存したい新しいフォーム要素を保持することです。
この例では、エンドユーザーに表示するイベントに関する日付、時間、その他の情報を収集しています。
最初に、メタボックスに追加したノンセを確認し、その信ity性を確認します。この後、AutoSaveを実行しておらず、ユーザーが実際にこのページを編集できることを確認します。これらのチェックのすべてが渡された場合、私たちは前進します。 すべての値を変数に収集し、sanitize_text_field関数を使用してそれらを消毒します。この後、データを保存するためにupdate_post_meta関数を呼び出します。
do_action( 'display_content_type_meta')を呼び出すことができます。テーマ内のどこからでも(このコンテンツタイプの単一の投稿にある限り)、メタ情報が表示されます。
この関数は、グローバル$ POSTと$ POST_TYPEを取得し、表示されている現在のアイテムが新しいコンテンツタイプであることを確認します。
この後、関数はメタ情報を収集して表示します(途中でいくつかのクイックチェックを作成します)。
追加ファイル、CSSおよびJS 機能の大部分が完了したので、CSSおよびJSファイルに交換して、いくつかのスタイルとインタラクティブ性をすばやく追加します。
オブジェクト指向のデザインの実用的な例と、開発を強化するのがどれほど簡単であるかを見たので、これらのスキルを適用して、より良いテーマとプラグインを構築できます。
WordPress <span>//Theme functions for child theme
</span>
<span>//load our event showcase class
</span><span>$event_showcase = get_stylesheet_directory() . '/includes/event_showcase/event_showcase_class.php';
</span><span>include($event_showcase);</span>
display_function_for_content_type_meta_box($ post)
この関数を使用して、コンテンツタイプの新しいメタ情報のバックエンドオプションを出力します。
<span>/*
</span><span> * Event Showcase
</span><span> * Creates an 'event' content type to showcase upcoming functions and information
</span><span> * Uses hooks and filters inside your theme to output relevant information
</span><span> */
</span>
<span>class event_showcase{
</span>
<span>//variables
</span> <span>private $directory = '';
</span> <span>private $singular_name = 'event';
</span> <span>private $plural_name = 'events';
</span> <span>private $content_type_name = 'event_showcase';
</span>
<span>//magic function, called on creation
</span> <span>public function __construct(){}
</span> <span>//sets the directory (path) so that we can use this for our enqueuing
</span> <span>public function set_directory_value(){}
</span> <span>//check if we need to flush rewrite rules
</span> <span>public function check_flush_rewrite_rules(){}
</span> <span>//enqueue public scripts and styles
</span> <span>public function enqueue_public_scripts_and_styles(){}
</span> <span>//enqueue admin scripts and styles
</span> <span>public function enqueue_admin_scripts_and_styles(){}
</span> <span>//adding our new content type
</span> <span>public function add_content_type(){}
</span> <span>//adding meta box to save additional meta data for the content type
</span> <span>public function add_meta_boxes_for_content_type(){}
</span> <span>//displays the visual output of the meta box in admin (where we will save our meta data)
</span> <span>public function display_function_for_content_type_meta_box($post){}
</span> <span>//when saving the custom content type, save additional meta data
</span> <span>public function save_custom_content_type($post_id){}
</span> <span>//display additional meta information for the content type
</span> <span>//@hooked using 'display_additional_meta_data' in theme
</span> <span>function display_additional_meta_data(){}
</span> <span>}
</span>
<span>//create new object
</span> <span>$event_showcase = new event_showcase;</span>
このステップがすべて完了したら、新しい空のメタボックスが変換され、新しい情報をすべて保持できるようになりました。
save_custom_content_type($ post_id)<span>//variables
</span><span>private $directory = '';
</span><span>private $singular_name = 'event';
</span><span>private $plural_name = 'events';
</span><span>private $content_type_name = 'event_showcase';</span>
display_additional_meta_data()この関数は、新しいコンテンツタイプ(単一イベント)の単一の投稿の保存されたメタ情報を表示します。
このアクションの2番目の値は、display_additional_meta_dataと呼ばれ、この関数に対応しています。これは、誰かがdo_action( 'display_content_type_meta')を呼び出すときはいつでも;この関数を呼び出して、新しい投稿メタ情報を表示します。<span>//Theme functions for child theme
</span>
<span>//load our event showcase class
</span><span>$event_showcase = get_stylesheet_directory() . '/includes/event_showcase/event_showcase_class.php';
</span><span>include($event_showcase);</span>
event_showcase_public_styles.css event_showcase_admin_scripts.js
<span>/*
</span><span> * Event Showcase
</span><span> * Creates an 'event' content type to showcase upcoming functions and information
</span><span> * Uses hooks and filters inside your theme to output relevant information
</span><span> */
</span>
<span>class event_showcase{
</span>
<span>//variables
</span> <span>private $directory = '';
</span> <span>private $singular_name = 'event';
</span> <span>private $plural_name = 'events';
</span> <span>private $content_type_name = 'event_showcase';
</span>
<span>//magic function, called on creation
</span> <span>public function __construct(){}
</span> <span>//sets the directory (path) so that we can use this for our enqueuing
</span> <span>public function set_directory_value(){}
</span> <span>//check if we need to flush rewrite rules
</span> <span>public function check_flush_rewrite_rules(){}
</span> <span>//enqueue public scripts and styles
</span> <span>public function enqueue_public_scripts_and_styles(){}
</span> <span>//enqueue admin scripts and styles
</span> <span>public function enqueue_admin_scripts_and_styles(){}
</span> <span>//adding our new content type
</span> <span>public function add_content_type(){}
</span> <span>//adding meta box to save additional meta data for the content type
</span> <span>public function add_meta_boxes_for_content_type(){}
</span> <span>//displays the visual output of the meta box in admin (where we will save our meta data)
</span> <span>public function display_function_for_content_type_meta_box($post){}
</span> <span>//when saving the custom content type, save additional meta data
</span> <span>public function save_custom_content_type($post_id){}
</span> <span>//display additional meta information for the content type
</span> <span>//@hooked using 'display_additional_meta_data' in theme
</span> <span>function display_additional_meta_data(){}
</span> <span>}
</span>
<span>//create new object
</span> <span>$event_showcase = new event_showcase;</span>
アクションの完成した機能!
<span>//variables
</span><span>private $directory = '';
</span><span>private $singular_name = 'event';
</span><span>private $plural_name = 'events';
</span><span>private $content_type_name = 'event_showcase';</span>
すべてがまとめられている場合、追加のメタデータを使用して新しい「イベント」を作成できるはずです。イベントを表示するときは、以下のサンプルに何かを表示する必要があります
<span>//magic function, called on creation
</span><span>public function __construct(){
</span>
<span>$this->set_directory_value(); //set the directory url on creation
</span> <span>add_action('init', array($this,'add_content_type')); //add content type
</span> <span>add_action('init', array($this,'check_flush_rewrite_rules')); //flush re-write rules for permalinks (because of content type)
</span> <span>add_action('add_meta_boxes', array($this,'add_meta_boxes_for_content_type')); //add meta boxes
</span> <span>add_action('wp_enqueue_scripts', array($this,'enqueue_public_scripts_and_styles')); //enqueue public facing elements
</span> <span>add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts_and_styles')); //enqueues admin elements
</span> <span>add_action('save_post_' . $this->content_type_name, array($this,'save_custom_content_type')); //handles saving of content type meta info
</span> <span>add_action('display_content_type_meta', array($this,'display_additional_meta_data')); //displays the saved content type meta info
</span><span>}</span>
追加のサブタイトル、日付、時間、チケットデータを見ることができます。
このような基本的な投稿タイプを拡張し、追加の要素を追加することで、よりインタラクティブで簡単なWebサイトを管理するのに役立ちます。ユーザーは、乱雑で使用が困難で一貫性がないコンテンツ領域を介して、そのすべての情報を追加する必要はなくなります。インターフェイスを簡単に管理できるようになりました。
ここからどこへ?
この記事が開発を計画し、オブジェクト指向の方法論が時間と労力の両方を節約する方法を確認するのに役立つことを願っています。
WordPressの手続きプログラミングとオブジェクト指向のプログラミングとは、WordPressの手続き上のプログラミングには、タスクを達成するためにコンピューターが段階的に従うように指示のリストを書くことが含まれます。一方、オブジェクト指向のプログラミングは、そのデータ(オブジェクト)とそのデータへの明確に定義された一連のインターフェイスを中心にプログラムを整理します。このアプローチにより、複雑なアプリケーションを小さく再利用可能なピースに分解することで、複雑なアプリケーションを簡単に管理および制御できます。
WordPressオブジェクトキャッシュとは?データベースからデータをメモリに保存して、不必要なクエリを防ぐことによるパフォーマンス。これにより、WordPressがデータベースの負荷を減らすとWordPressを大幅に高速化できます。
WordPressのボックスにOBJを削除するにはどうすればよいですか?オブジェクトキャッシュを無効にしたり、プラグインを使用したり、コードから手動で削除したりするなど、さまざまな方法。ただし、サイトの壊れを避けるためにこれを注意深く行う必要があることに注意することが重要です。 WordPressのテーマでは、functions.phpファイルまたは個々のテンプレートファイル内でクラスとメソッドを定義する必要があります。これらのクラスとメソッドを使用してオブジェクトを作成できます。オブジェクトは、互いに対話してタスクを実行できます。 WordPressでのプログラミングには、いくつかの利点があります。これにより、コードがよりコンパクトで、理解しやすく、メンテナンスが容易になります。また、コードを減らすと、より複雑な機能を作成することもできます。さらに、より良いデータ分析、より正確なコーディング、および開発の速度が高まります。 WordPressの投稿タイトルでは、通常、プラグインまたはテーマとの競合の結果です。それはWordPressの標準的な部分ではなく、競合を識別して解決することで削除できます。 WordPressのオブジェクト指向プログラミング。これには、オンラインチュートリアル、コース、および本が含まれます。 OOP原則を使用して書かれているWordPressコアコードを調べることで学習することもできます。 WordPress開発、強くお勧めします。 OOPの原則を使用すると、コードをより読みやすく、再利用可能で、維持しやすくすることができます。また、WordPressコアコードをよりよく理解するのにも役立ちます。 WordPressプラグインを使用してオブジェクト指向のプログラミングを使用できますか?
はい、WordPressプラグインを使用してオブジェクト指向のプログラミングを使用できます。実際、多くのWordPressプラグインはOOP原則を使用して記述されています。これにより、より複雑な機能が可能になり、プラグインコードの管理と保守が容易になります。
以上がWordPressを使用したオブジェクト指向開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ブログをwordpress.comからwordpress.orgに移動しますか? 多くの初心者はWordPress.comから始めますが、すぐに制限を実現し、自己ホストされたWordPress.orgプラットフォームに切り替えたいと考えています。 このステップバイステップガイドでは、WordPress.comからWordPress.orgにブログを適切に移動する方法を示します。 なぜwordpress.comからwordpress.orgに移行するのですか? WordPress.comを使用すると、誰でもアカウントを作成できます

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

ほんの数日前、ユーザーの1人が異常な問題を報告しました。問題は、彼がカスタムメニュー項目の限界に達することです。メニュー項目の制限に到達した後に保存するコンテンツはまったく保存されません。この問題を聞いたことがないので、ローカルインストールで試してみることにしました。 200を超えるメニュー項目が作成され、保存されました。効果はとても良いです。 100個のアイテムをドロップダウンリストに移動し、それらを非常によく保存します。その後、サーバーに関係している必要があることがわかりました。さらなる研究の後、他の多くの人が同じ問題に遭遇したようです。深く掘り下げた後、この問題を強調したTRACチケット(#14134)を見つけました。よく読んでください

WordPressのカスタム分類法にカスタムメタフィールドを追加する必要がありますか? カスタム分類法により、カテゴリとタグ以外にコンテンツを整理できます。他のフィールドを追加してそれらを説明するのが便利な場合があります。 この記事では、作成した分類法に他のメタフィールドを追加する方法を紹介します。 カスタムメタフィールドはいつカスタム分類法に追加する必要がありますか? WordPressサイトで新しいコンテンツを作成すると、2つのデフォルトの分類法(カテゴリとタグ)を使用して整理できます。 一部のWebサイトは、カスタム分類法の使用から恩恵を受けます。これらを使用すると、コンテンツを他の方法で並べ替えることができます。 例えば、

Windows Live Writerは、デスクトップからWordPressブログに直接投稿することができる多用途のツールです。これは、ブログを更新するためにWordPress管理パネルにログインする必要がないことを意味します。このチュートリアルでは、Windows Live Writerを使用してWordPressブログのデスクトップ公開を有効にする方法を紹介します。 WordPressにWindows Live Writerをセットアップする方法 ステップ1:WordprでWindows Live Writerを使用するには

最近、ユーザーの1人が非常に奇妙なインストールの問題を報告しました。投稿を書くとき、彼らは彼らが書くものは何も見ることができません。ポストエディターのテキストは白だからです。さらに、すべてのVisual Editorボタンが欠落しており、VisualからHTMLに切り替える機能も機能しません。この記事では、WordPress Visual Editorで白いテキストと欠落したボタンの問題を修正する方法を示します。 初心者に注意:他のWebサイトのスクリーンショットで見られる隠されたボタンを探しているなら、キッチンシンクを探しているかもしれません。 Kitchen Sinkアイコンをクリックして、下線、Wordからのコピーなどの他のオプションを表示する必要があります。

WordPressのユーザーメールでアバターを表示しますか? Gravatarは、ユーザーのメールアドレスをオンラインアバターに接続するネットワークサービスです。 WordPressは、コメントセクションに訪問者のプロフィール写真を自動的に表示しますが、サイトの他の領域に追加することもできます。 この記事では、WordPressのユーザーメールでアバターを表示する方法を紹介します。 グラバタルとは何ですか、なぜそれを表示する必要がありますか? Gravatarは、世界的に認識されているアバターの略で、画像をメールアドレスにリンクできるようになります。 ウェブサイトがサポートしている場合

WordPressのデフォルトのメディアアップロード場所を変更しますか? メディアファイルを他のフォルダーに移動すると、Webサイトの速度とパフォーマンスが向上し、バックアップをより速く作成することができます。また、自分に最適な方法でファイルを整理する自由を提供します。 この記事では、WordPressのデフォルトのメディアアップロード場所を変更する方法を紹介します。 デフォルトのメディアアップロード場所を変更する理由 デフォルトでは、WordPressは/wp-content/uploads/folderにすべての画像およびその他のメディアファイルを保存します。 このフォルダーには、さまざまな年と数ヶ月の子供がいます


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

メモ帳++7.3.1
使いやすく無料のコードエディター
