キーテイクアウト
-
ブログソフトウェアの機(jī)能を拡張するWordPressプラグインは、ユーザーがニーズを満たす既存のプラグインを見つけることができない場合に作成できます。作成プロセスでは、WP-Content/Plugins Directoryに新しいサブディレクトリを作成し、PHPファイルのコメントに記述子を提供してプラグインを識別します。
- WordPressは、カスタムウィジェットを作成するために拡張できるWP_Widgetクラスを提供します。 WP_Widgetクラスには、オーバーライドする必要がある4つのメソッドがあります:__construct()、form()、update()、およびwidget()。これらのメソッドは、ウィジェットを初期化し、カスタマイズのフォームを表示し、ウィジェットのプロパティを更新し、それぞれブログにウィジェットを表示します。 WordPressプラグインを作成する場合、適切な命名規(guī)則の使用、ユーザー入力の検証と消毒によるセキュリティの確保、プラグインをより多くの視聴者にリーチできるようにするなど、ベストプラクティスに従うことが重要です。すべてのテーマとの互換性は、WordPressコーディング標(biāo)準(zhǔn)を順守し、さまざまなテーマでプラグインをテストすることで実現(xiàn)できます。
- WordPressプラグインのデバッグには、組み込みのデバッグシステムまたはデバッガーを使用したPHP IDEを使用することが含まれます。プラグインのセキュリティには、ユーザー入力の検証と消毒、Noncesを使用して要求ソースの検証、適切なファイル許可の設(shè)定、およびデータ操作のためにWordPress API関數(shù)を使用することが含まれます。定期的な更新とテストは、潛在的なセキュリティの脆弱性を特定するのに役立ちます。
メインプラグインファイル
プラグインは、WordPressインストールディレクトリ內(nèi)のWPコンテンツ/プラグインディレクトリから自動的に検出されます。新しいプラグインを作成するときは、そこに新しいサブディレクトリを作成する必要があります。サブディレクトリの名前は、あなたが望むものにすることができます。賢明なオプションは、それをプラグインの名前と呼ぶことです。これはすでに別のプラグインで使用されている可能性があるため、「TextWidget」や「ShoppingCart」などの一般的な名前を避けてください。WordPressの他のユーザーに配布したい場合は問題を引き起こします。この例では、phpmaster_examplewidgetという名前のサブディレクトリを作成します。 WordPressは、PHPファイルのコメントに配置された記述子からプラグインが利用可能であることを検出します。記述子は、プラグインが何をしたか、作成した人、およびそのライセンス情報に関する基本情報を提供する必要があります。これは、WordPressがプラグインが存在し、アクティブ化する準(zhǔn)備ができていることを識別するために使用するものです。この例プラグインには、新しく作成されたphpmaster_examplewidgetディレクトリに配置されたファイルの上部に定義が含まれます。ファイルの名前も任意ですが、意味のある名前を提供することをお勧めします。この例では、ファイルwidget_init.phpを呼び出します。<span><span><?php </span></span><span><span>/* </span></span><span><span>Plugin Name: Simple Text Plugin </span></span><span><span>Plugin URI: http://www.example.com/textwidget </span></span><span><span>Description: An example plugin to demonstrate the basics of putting together a plugin in WordPress </span></span><span><span>Version: 0.1 </span></span><span><span>Author: Tim Smith </span></span><span><span>Author URI: http://www.example.com </span></span><span><span>License: GPL2 </span></span><span><span> </span></span><span><span> Copyright 2011 Tim Smith </span></span><span><span> </span></span><span><span> This program is free software; you can redistribute it and/or </span></span><span><span> modify it under the terms of the GNU General Public License, </span></span><span><span> version 2, as published by the Free Software Foundation. </span></span><span><span> </span></span><span><span> This program is distributed in the hope that it will be useful, </span></span><span><span> but WITHOUT ANY WARRANTY; without even the implied warranty of </span></span><span><span> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the </span></span><span><span> GNU General Public License for more details. </span></span><span><span> </span></span><span><span> You should have received a copy of the GNU General Public License </span></span><span><span> along with this program; if not, write to the Free Software </span></span><span><span> Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA </span></span><span><span> 02110-1301 USA </span></span><span><span>*/</span></span>これは、WordPressに作成する任意のプラグインに必要な構(gòu)造です。これで、ログインしてWordPressのプラグイン管理畫面を確認(rèn)すると、新しいプラグインがアクティブ化できるようになります。
wordpressウィジェット
WordPressは、wp_widgetという名前の拡張できるクラスを提供します。拡張すると、テーマが提供するサイドバーが獨(dú)自のウィジェットを利用できます。 WordPressは、wp_widgetを拡張する「最近の投稿」や「アーカイブ」など、いくつかのデフォルトウィジェットを備えています。 WP_Widgetクラスは、上書きする必要がある4つの方法を提供します。- __ construct() - 親コンストラクターを呼び出して、クラス変數(shù)を初期化
- form() - 管理ビューにウィジェットのフォームを表示して、ウィジェットのプロパティをカスタマイズします
- update() - 管理ビューのフォームで指定されたウィジェットのプロパティを更新
- widget() - ブログにウィジェットを表示
コンストラクター
コンストラクターは、おそらく書いた他のコンストラクターと同じです。ここで覚えておくべき重要なことは、3つの引數(shù)を取得できる親コンストラクターを呼び出すことです。ウィジェットの識別子、ウィジェットのフレンドリー名(これは管理ウィジェット畫面のウィジェットのタイトルとして表示されます)、および配列ウィジェットのプロパティの詳細(xì)(「説明」値のみが必要です)。<span><span><?php </span></span><span><span>/* </span></span><span><span>Plugin Name: Simple Text Plugin </span></span><span><span>Plugin URI: http://www.example.com/textwidget </span></span><span><span>Description: An example plugin to demonstrate the basics of putting together a plugin in WordPress </span></span><span><span>Version: 0.1 </span></span><span><span>Author: Tim Smith </span></span><span><span>Author URI: http://www.example.com </span></span><span><span>License: GPL2 </span></span><span><span> </span></span><span><span> Copyright 2011 Tim Smith </span></span><span><span> </span></span><span><span> This program is free software; you can redistribute it and/or </span></span><span><span> modify it under the terms of the GNU General Public License, </span></span><span><span> version 2, as published by the Free Software Foundation. </span></span><span><span> </span></span><span><span> This program is distributed in the hope that it will be useful, </span></span><span><span> but WITHOUT ANY WARRANTY; without even the implied warranty of </span></span><span><span> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the </span></span><span><span> GNU General Public License for more details. </span></span><span><span> </span></span><span><span> You should have received a copy of the GNU General Public License </span></span><span><span> along with this program; if not, write to the Free Software </span></span><span><span> Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA </span></span><span><span> 02110-1301 USA </span></span><span><span>*/</span></span>基本的なウィジェット構(gòu)造を配置すると、ウィジェットを登録し、これが他のすべてのウィジェットが初期化されているときに実行されることを確認(rèn)する必要があります。レジスタのウィジェットは、wp_widgetを拡張するクラスの名前であるregister_widget()関數(shù)を介して行われます。ウィジェットを登録するためのこの呼び出しは、適切な時期に呼び出される必要があるため、使用する特定のWordPressフックは「Widgets_init」と呼ばれます。ウィジェットの登録をフックに関連付けるには、フックの名前を最初の引數(shù)として、2番目の引數(shù)として実行する関數(shù)をadd_action()を使用します。 (2番目の引數(shù)は、関數(shù)の文字列名または閉鎖のいずれかです。)このコードは、widget_init.phpで作成されたプラグインの記述子の直接的に移動する必要があります。
<span><span><?php </span></span><span><span>class TextWidget extends WP_Widget </span></span><span><span>{ </span></span><span> <span>public function __construct() { </span></span><span> <span><span>parent::</span>__construct("text_widget", "Simple Text Widget", </span></span><span> <span>array("description" => "A simple widget to show how WP Plugins work")); </span></span><span> <span>} </span></span><span><span>}</span></span>登録および初期化されたので、使用可能なウィジェットを見ることができます。
form()メソッド
ここのウィジェットの例では、ブログで表示されるときにタイトルと表示されるテキストを入力できるようにする必要があります。したがって、ウィジェットのこれらの2つの側(cè)面を修正するには、これらの値を促すためにフォームを作成する必要があります。フォーム()メソッドは、ウィジェット管理畫面で使用され、フィールドを表示します。フィールドは、後でサイト自體のウィジェットの機(jī)能を変更するために使用できます。このメソッドは、ウィジェットに関連付けられた変數(shù)の$インスタンス配列である1つの引數(shù)を取ります。フォームが送信されると、ウィジェットは更新()メソッドを呼び出します。これにより、新しい値で$インスタンスでフィールドを更新できます。その後、ウィジェット()が呼び出され、$インスタンスを使用して値を表示します。<span><span><?php </span></span><span><span>add_action("widgets_init", </span></span><span> <span>function () { register_widget("TextWidget"); }); </span></span><span><span>?></span></span>wp_widgetのget_field_id()メソッドとget_field_name()メソッドを使用して、それぞれフォームフィールドのIDと名前を作成します。 WordPressは、使用中の他のウィジェットと衝突しないように、あなたのための一意の識別子を生成し、フォームを送信すると、値は関連する$インスタンスアレイアイテムを更新します。 Passed $ Instance引數(shù)を使用して、既に設(shè)定されている場合にフォームフィールドに値を入力できます。 これは、管理者ビューでフォームがどのように見えるかです。
以上がWordPressプラグインの開発の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











GITでWordPressプロジェクトを管理する場合、バージョンコントロールにテーマ、カスタムプラグイン、構(gòu)成ファイルのみを含める必要があります。 .gitignoreファイルをセットアップして、ディレクトリ、キャッシュ、および機(jī)密構(gòu)成のアップロードを無視します。 WebhooksまたはCIツールを使用して自動展開を?qū)g現(xiàn)し、データベース処理に注意を払います。共同開発のために2つのブランチポリシー(Main/Develop)を使用します。そうすることで、競合を回避し、セキュリティを確保し、コラボレーションと展開効率を改善できます。

WordPressテスト環(huán)境を使用して、正式に発売される前に新機(jī)能、プラグイン、またはテーマのセキュリティと互換性を確保し、実際のWebサイトに影響を與えないようにします。テスト環(huán)境を構(gòu)築する手順には、次のものがあります。ローカルサーバーソフトウェア(LocalWP、XAMPPなど)のダウンロードとインストール、サイトの作成、データベースと管理者アカウントの設(shè)定、テスト用のテーマとプラグインのインストール。正式なWebサイトをテスト環(huán)境にコピーする方法は、プラグインを介してサイトをエクスポートし、テスト環(huán)境をインポートし、ドメイン名を置き換えることです。それを使用する場合、実際のユーザーデータを使用せず、定期的に役に立たないデータのクリーニング、テストステータスのバックアップ、時間內(nèi)に環(huán)境のリセット、および違いを減らすためにチームの構(gòu)成を統(tǒng)合することに注意を払う必要があります。

Gutenbergブロックを作成するための鍵は、その基本構(gòu)造を理解し、フロントエンドリソースとバックエンドリソースを正しく接続することです。 1.開発環(huán)境の準(zhǔn)備:ローカルWordPress、node.js、 @wordpress/scriptsをインストールします。 2。PHPを使用してブロックを登録し、JavaScriptを使用してブロックの編集ロジックを定義します。 3. npmを介してJSファイルを構(gòu)築して変更を行います。 4.問題に遭遇したときにパスとアイコンが正しいかどうかを確認(rèn)するか、リアルタイムのリスニングを使用してビルドを使用して、繰り返し手動コンパイルを避けます。これらの手順に従って、シンプルなグーテンバーグブロックを段階的に実裝できます。

WordPressでは、カスタム記事タイプを追加したり、固定リンク構(gòu)造を変更したりするときは、書き換えルールを手動で更新する必要があります。この時點で、コードを介してflush_rewrite_rules()関數(shù)を呼び出して実裝できます。 1.この関數(shù)は、テーマまたはプラグインのアクティベーションフックに追加して、自動的に更新できます。 2。CPTの追加、分類、リンク構(gòu)造の変更など、必要に応じて1回のみ実行します。 3.パフォーマンスに影響を避けるために、頻繁に電話をかけないでください。 4。マルチサイト環(huán)境では、必要に応じて各サイトを個別に更新します。 5.一部のホスティング環(huán)境は、ルールの保存を制限する場合があります。さらに、[保存]をクリックして「設(shè)定>ピン留めリンク」ページにアクセスすると、自動化されていないシナリオに適した更新もトリガーできます。

応答性のあるWordPressテーマデザインを?qū)g裝するには、まず、HTML5とモバイルファーストメタタグを使用し、header.phpにビューポート設(shè)定を追加して、モバイル端子が正しく表示されるようにし、HTML5構(gòu)造タグでレイアウトを整理します。第二に、CSSメディアクエリを使用して、さまざまな畫面幅でスタイルの適応を?qū)g現(xiàn)し、モバイルファーストの原則に従ってスタイルを書き込み、一般的に使用されるブレークポイントには480px、768px、1024pxが含まれます。第三に、畫像とレイアウトを弾力的に処理し、最大幅を設(shè)定します。畫像に100%を設(shè)定し、固定幅の代わりにFlexBoxまたはグリッドレイアウトを使用します。最後に、ブラウザ開発者ツールと実際のデバイスを介して完全にテストし、パフォーマンスを最適化し、応答を確保する

tosetupredirectsinwordsusitheTheTheTheTheTheTheThe、LocateTethefileNyinyOursite’sRootDirectoryAnddRedireCtRulesabovethe

IntegrateThird-PartyApisIntOwordPress、次のようになります。

usingsmtpforwordpressemailsimprovesdeleverability andReliability comparedtothededefaultphpmail()function.1.smtpauthenticateswithyouremailserver、reducespamplacement.2.somehostsdisablephpmail()、makesmtpn devering
