キーテイクアウト
-
ブログソフトウェアの機(jī)能を拡張するWordPressプラグインは、ユーザーがニーズを満たす既存のプラグインを見つけることができない場合に作成できます。作成プロセスでは、WP-Content/Plugins Directoryに新しいサブディレクトリを作成し、PHPファイルのコメントに記述子を提供してプラグインを識(shí)別します。
- 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コンテンツ/プラグインディレクトリから自動(dòng)的に検出されます。新しいプラグインを作成するときは、そこに新しいサブディレクトリを作成する必要があります。サブディレクトリの名前は、あなたが望むものにすることができます。賢明なオプションは、それをプラグインの名前と呼ぶことです。これはすでに別のプラグインで使用されている可能性があるため、「TextWidget」や「ShoppingCart」などの一般的な名前を避けてください。WordPressの他のユーザーに配布したい場合は問題を引き起こします。この例では、phpmaster_examplewidgetという名前のサブディレクトリを作成します。 WordPressは、PHPファイルのコメントに配置された記述子からプラグインが利用可能であることを検出します。記述子は、プラグインが何をしたか、作成した人、およびそのライセンス情報(bào)に関する基本情報(bào)を提供する必要があります。これは、WordPressがプラグインが存在し、アクティブ化する準(zhǔn)備ができていることを識(shí)別するために使用するものです。この例プラグインには、新しく作成されたphpmaster_examplewidgetディレクトリに配置されたファイルの上部に定義が含まれます。ファイルの名前も任意ですが、意味のある名前を提供することをお?jiǎng)幛幛筏蓼?。この例では、ファイル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ù)を取得できる親コンストラクターを呼び出すことです。ウィジェットの識(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ù)を介して行われます。ウィジェットを登録するためのこの呼び出しは、適切な時(shí)期に呼び出される必要があるため、使用する特定のWordPressフックは「Widgets_init」と呼ばれます。ウィジェットの登録をフックに関連付けるには、フックの名前を最初の引數(shù)として、2番目の引數(shù)として実行する関數(shù)をadd_action()を使用します。 (2番目の引數(shù)は、関數(shù)の文字列名または閉鎖のいずれかです。)このコードは、widget_init.phpで作成されたプラグインの記述子の直接的に移動(dòng)する必要があります。
<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は、使用中の他のウィジェットと衝突しないように、あなたのための一意の識(shí)別子を生成し、フォームを送信すると、値は関連する$インスタンスアレイアイテムを更新します。 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)

WordPressがサーバーCPU使用の急増を引き起こす主な理由には、プラグインの問題、非効率的なデータベースクエリ、テーマコードの品質(zhì)の低さ、またはトラフィックの急増が含まれます。 1.最初に、トップ、HTOP、またはコントロールパネルツールを介したWordPressによって引き起こされる高い負(fù)荷であるかどうかを確認(rèn)します。 2.トラブルシューティングモードを入力して、プラグインを徐々に有効にしてパフォーマンスのボトルネックをトラブルシューティングし、QueryMonitorを使用してプラグインの実行を分析し、非効率的なプラグインを削除または交換します。 3.キャッシュプラグインをインストールし、冗長データをクリーンアップし、スロークエリログを分析してデータベースを最適化します。 4.トピックには、コンテンツの過負(fù)荷、複雑なクエリ、キャッシングメカニズムの欠如などの問題があるかどうかを確認(rèn)します。標(biāo)準(zhǔn)のトピックテストを使用して、コードロジックを比較および最適化することをお?jiǎng)幛幛筏蓼?。上記の手順に従って、場所を確認(rèn)して解決し、問題を1つずつ解決します。

JavaScriptファイルをマイニングすると、ブランク、コメント、役に立たないコードを削除することにより、WordPress Webサイトの読み込み速度を向上させることができます。 1。W3TOTALCACHEなどの圧縮をサポートするキャッシュプラグインを使用し、「MINIFY」オプションで圧縮モードを有効にし、選択します。 2。FastVelocityMinifyなどの専用圧縮プラグインを使用して、より細(xì)かい制御を提供します。 3. JSファイルを手動(dòng)で圧縮し、FTPを介してアップロードします。これは、開発ツールに精通しているユーザーに適しています。一部のテーマまたはプラグインスクリプトは圧縮関數(shù)と競合する可能性があり、アクティベーション後にWebサイト機(jī)能を徹底的にテストする必要があることに注意してください。

プラグインに依存しないWordPressサイトを最適化する方法は次のとおりです。1。積み重なったテーマを避けるために、AstraやGeneratePressなどの軽量テーマを使用します。 2. CSSおよびJSファイルを手動(dòng)で圧縮およびマージして、HTTP要求を削減します。 3.アップロードする前に畫像を最適化し、WebP形式を使用し、ファイルサイズを制御します。 4. configure.htaccessブラウザキャッシュを有効にし、CDNに接続して靜的リソースの負(fù)荷速度を向上させます。 5.記事の改訂を制限し、定期的にデータベース冗長データをクリーンにします。

Transientapiは、自動(dòng)有効期限データを一時(shí)的に保存するためのWordPressの組み込みツールです。そのコア関數(shù)は、set_transient、get_transient、delete_transientです。 OptionsAPIと比較して、Transimentsは、Cache API要求の結(jié)果や複雑なコンピューティングデータなどのシナリオに適した、生存時(shí)間(TTL)の設(shè)定をサポートしています。それを使用する場合、キーネーミングと名前空間の獨(dú)自性、キャッシュ「怠zyな削除」メカニズム、およびオブジェクトキャッシュ環(huán)境では続かない問題に注意を払う必要があります。一般的なアプリケーションシナリオには、外部要求頻度の削減、コード実行リズムの制御、ページの読み込みパフォーマンスの改善が含まれます。

PluginCheckは、WordPressユーザーがプラグインの互換性とパフォーマンスをすばやくチェックするのに役立つツールです。主に、現(xiàn)在インストールされているプラ??グインに、WordPressの最新バージョン、セキュリティの脆弱性などと互換性がないなどの問題があるかどうかを特定するために使用されます。インストールとアクティベーションの後、バックグラウンドの「runaScan」ボタンをクリックして、すべてのプラグインを自動(dòng)的にスキャンします。 2。レポートには、プラグイン名、検出タイプ、問題の説明、およびソリューションの提案が含まれています。これにより、深刻な問題の優(yōu)先処理が容易になります。 3. WordPressを更新する前に検査を?qū)g行することをお?jiǎng)幛幛筏蓼?。ウェブサイトの異常が異常である場合、または定期的に実行されて隠された危険を事前に発見し、將來の大きな問題を回避することをお?jiǎng)幛幛筏蓼埂?/p>

コメントスパムを防ぐ最も効果的な方法は、プログラマティックな手段を介して自動(dòng)的に識(shí)別して傍受することです。 1.検証コードメカニズム(Googler CaptchaやHcaptchaなど)を使用して、特に公共のWebサイトに適した人間とロボットを効果的に區(qū)別します。 2.隠しフィールド(ハニーポットテクノロジー)を設(shè)定し、ロボットを使用して機(jī)能を自動(dòng)的に埋めて、ユーザーエクスペリエンスに影響を與えることなくスパムコメントを識(shí)別します。 3.コメントコンテンツのブラックリストを確認(rèn)し、敏感な単語の一致を通じてスパム情報(bào)をフィルタリングし、誤判斷を避けるために注意を払ってください。 4.コメントの頻度とソースIPを判斷し、単位時(shí)間あたりの提出數(shù)を制限し、ブラックリストを確立します。 5.サードパーティのスパムサービス(Akismet、CloudFlareなど)を使用して、識(shí)別の精度を向上させます。ウェブサイトに基づいていることができます

Gutenbergブロックを開発する場合、エンキュー資産の正しい方法には次のものが含まれます。1。register_block_typeを使用して、editor_script、editor_style、およびstyleのパスを指定します。 2。functions.phpまたはプラグインでwp_register_scriptとwp_register_styleを介してリソースを登録し、正しい依存関係とバージョンを設(shè)定します。 3.適切なモジュール形式を出力し、パスが一貫していることを確認(rèn)するためのビルドツールを構(gòu)成します。 4. Add_Theme_SupportまたはEnqueue_Block_Assetsを介してフロントエンドスタイルの読み込みロジックを制御して、フロントエンドスタイルのロードロジックが確保されるようにします。

カスタムユーザーフィールドを追加するには、プラットフォームに従って拡張メソッドを選択し、データ検証と許可制御に注意を払う必要があります。一般的なプラクティスには次のものが含まれます。1。データベースの追加のテーブルまたはキー価値ペアを使用して情報(bào)を保存します。 2.フロントエンドに入力ボックスを追加し、バックエンドと統(tǒng)合します。 3。機(jī)密データのフォーマットチェックとアクセス許可を制約します。 4.モバイルの適応とユーザーエクスペリエンスを考慮しながら、新しいフィールド表示と編集をサポートするインターフェイスとテンプレートを更新します。
