WordPressプラグインの初心者:WordPressプラグインボイラーの使用
WordPressプラグインの開発には、學(xué)習(xí)曲線が低く、プラグインを構(gòu)築する方法だけがありません。プラグインは、Hello Dollyと同じくらい簡単で、さまざまなニーズや機(jī)能に基づいて非常に複雑な方法で構(gòu)築できます。 WordPressプラグインボイラープレートは、次の優(yōu)れたプラグインを構(gòu)築するのに役立つ標(biāo)準(zhǔn)化された高品質(zhì)の基礎(chǔ)を提供するように設(shè)計(jì)されています。このシリーズの最初の部分では、ファイルとフォルダーの構(gòu)造、およびボイラープレートのコード組織など、ボイラープレートを深く探索します。
キーポイント
- WordPressプラグインボイラープレートは、低い學(xué)習(xí)曲線を備えたWordPressプラグインを構(gòu)築するための標(biāo)準(zhǔn)化された高品質(zhì)の基礎(chǔ)を提供し、シンプルまたは複雑なプラグイン構(gòu)造に柔軟に使用できます。
- ボイラープレートの3.0.0バージョンは、プラグイン間のコード組織と內(nèi)部の懸念の分離に大幅な改善をもたらし、GITリポジトリのクローニングまたはGitHubリポジトリからZIPファイルをダウンロードすることで簡単に取得できます。
- ボイラープレートは、推奨されるWordPressコーディングおよびドキュメント標(biāo)準(zhǔn)に従い、便利なスターターガイドとツールの推奨事項(xiàng)を提供し、さまざまな機(jī)能の5つのデフォルトクラスが含まれており、プラグイン開発者にとって優(yōu)れた出発點(diǎn)となります。
背景
WordPressプラグインボイラープレートは、WordPressプラグインを構(gòu)築するための標(biāo)準(zhǔn)化されたオブジェクト指向のアプローチを提供するために、Tom McFarlinによってもともと開始されました。ボイラープレートはプラグインAPIの上に構(gòu)築されており、WordPressが推奨するコーディングおよびドキュメントの基準(zhǔn)に従うため、安全で信頼できる環(huán)境にいることを確認(rèn)できます。ボイラープレートは最近バージョン3.0.0に更新され、コード組織の大幅な改善とプラグインの內(nèi)部焦點(diǎn)のさらなる分離がもたらされました。レガシーボイラープレート(v2.6.2)を使用したプラグインの開発にすでに精通している場(chǎng)合は、新しいフォルダー構(gòu)造を含む最新バージョンで新しいものを再學(xué)習(xí)するのに時(shí)間がかかる場(chǎng)合があります。このボイラープレートは、トムマクファーリン自身(執(zhí)筆時(shí)點(diǎn)で)によってもはや維持されておらず、彼はバトンをデビンヴィンソンに渡しました。開発はまだ計(jì)畫どおりに継続されているため、質(zhì)問がある場(chǎng)合はGitHubリポジトリに自由に報(bào)告してください。また、貢獻(xiàn)を歓迎します。
テンプレートのコピーを取得
WordPressプラグインのボイラープレートコピーを取得する最も簡単な方法は、GITリポジトリ自體をクローンすることです。
<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>
またはGitHubリポジトリからzipファイルをいつでもダウンロードできます。バージョン3.0.0がリリースされるため、プラグインをWP-Content/Pluginsディレクトリに直接コピーするだけではありません。これは、プラグインの実際のソースコードがルートディレクトリに含まれていないが、実際にはトランクと呼ばれるサブディレクトリにあるためです。今これについて心配しないでください。この記事の後半で新しいフォルダー構(gòu)造について説明します。 readme.mdファイルは、ボイラープレートを適切に取り付ける方法の完全な説明を詳述します。要するに、あなたは:
- トランクディレクトリをWPコンテンツ/プラグインフォルダーにコピーします
- ボイラープレートディレクトリ全體をコピーし、トランクサブディレクトリのWPコンテンツ/プラグイン/
/へのシンボリックリンクを作成します。シンボリックリンクを作成すると、使用しているオペレーティングシステムに依存します。
これを行った後、管理パネルのプラグインのリストにWordPressプラグインボイラープレートと呼ばれるプラグインを見つける必要があります。プラグインをアクティブにして開始するだけです!
オンラインジェネレーターを使用してプラグインをカスタマイズします
アクティブ化されると、少なくとも今のところは基本的に何もしない「通常の」プラグインがあります。また、検索を?qū)g行し、ボイラープレートコードベース全體で操作を交換する必要があります。これは非常に退屈で時(shí)間がかかる場(chǎng)合があります。幸いなことに、Enrique Chavezはプロセスを自動(dòng)化する非公式ジェネレーターを作成しました。 http://ipnx.cn/link/6340831392e9cd8af9598274f4b3c5c0にアクセスし、ページの下部にあるフォームに記入して、ワードプレスプラグインのテンプレートのパーソナライズコピーを生成します。
フォルダー構(gòu)造
WordPressプラグインボイラープレート3.0.0が古いバージョンと比較してどのように整理されているかを詳しく見てみましょう。前述のように、実際のプラグインコードは、ルートディレクトリではなく、トランクと呼ばれるサブディレクトリに含まれています。これは、アセット、ブランチ、トランクの3つの主要なディレクトリを含む公式のWordPressプラグインリポジトリで使用される標(biāo)準(zhǔn)に従うことです。ボイラープレートは、すでに2つの資産とトランクを提供しています。これがボイラープレートに含まれる完全なディレクトリとファイルです(執(zhí)筆時(shí)點(diǎn)で):
<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>
以下は、各ファイルとフォルダーの関數(shù)の簡単な説明です。
-
.gitignore
:GITリポジトリに存在しないでください。.gitignore
- :変更日を含むボイラープレートの変更の標(biāo)準(zhǔn)変更ログ。
CHANGELOG.md
- :インストール手順がリストされている便利なスターターと、ツールの推奨事項(xiàng)や謝辭などの他の部分。
README.md
- :このディレクトリには、WordPressプラグインリポジトリにプラグインを公開することにしたときに提供する必要がある推奨リソースが含まれています。このディレクトリに含まれるすべての畫像は、公開に推奨される解像度です。
assets
- :これは、開発する実際のプラグインです。コードベースを管理機(jī)能と公開機(jī)能に分割するいくつかのフォルダーがあります。各サブディレクトリの意味を詳細(xì)に説明します。
trunk
- :ディレクトリには3つのディレクトリが含まれています。すなわち
admin
、admin
、css
です。名前が示すように、すべての管理指向の機(jī)能をここに配置する必要があります。デフォルトでは、js
およびpartials
がWP-Adminに追加されます。plugin-name-admin.js
は、管理固有のフックを定義できる一般的な機(jī)能を提供します。plugin-name-admin.css
class-plugin-name-admin.php
:このディレクトリは、 - ディレクトリによって提供される機(jī)能と非常に似ています。唯一の違いは、
public
ディレクトリがすべてのパブリックに向かう機(jī)能コードベースを保存するために使用されることです。admin
public
:プラグインに翻訳機(jī)能を提供できる - ファイル。
languages
.pot
:これはおそらく、ほとんどすべての魔法が起こる場(chǎng)所です。デフォルトでは、5つの開始クラスがあり、次のセクションで説明します。 -
includes
:デフォルトでGPL V2ライセンスのコピーが含まれています。 -
LICENSE.txt
:プラグインREADMEファイルの開始點(diǎn)。このファイルは、WordPressプラグインリポジトリに優(yōu)れたプラグインページを提供するためにさらに記入できるすべてのセクションをカバーしています。 -
README.txt
:プラグインのエントリポイント。ここでは、好みに応じて変更できる一般的なプラグインファイルヘッダーが含まれています。プラグインがアクティブ化および/または非アクティブ化されているときに機(jī)能を含める必要がある場(chǎng)合、このファイルにも - および
plugin-name.php
が登録されます。register_activation_hook
register_deactivation_hook
- :ディレクトリには3つのディレクトリが含まれています。すなわち
前述のように、ディレクトリには5つのデフォルトクラスがあります。各クラスが何をしているのか見てみましょう:
-
class-plugin-name-activator.php
:このクラスは、プラグインのアクティベーション中にインスタンス化されます。靜的メソッドは1つしかなく、activate()
に登録されています。カスタムテーブルの作成やデフォルトオプションの保存など、プラグインがアクティブになったときに特定のアクションを?qū)g行する必要がある場(chǎng)合はいつでもこのクラスを使用します。register_activation_hook
- :対応するカテゴリの
class-plugin-name-deactivator.php
。また、プラグインの非アクティブ化中に任意の機(jī)能を?qū)g行するために使用できる靜的メソッドは1つだけです。class-plugin-name-deactivator.php
deactivate()
:プラグインi18n関數(shù)の開始點(diǎn)。プラグインテキストフィールドを保存するプロパティがあります。このプロパティは、パブリックメソッドを使用して設(shè)定できます。最後に、プラグインがロードされるたびに、このクラスの - メソッドが呼び出されます。
class-plugin-name-i18n.php
$domain
set_domain()
:テンプレートで最も重要なクラス。プラグインに登録されているすべてのフックが保存される2つのプロパティload_plugin_textdomain()
と が含まれています。アクションまたはフィルターを - および
class-plugin-name-loader.php
プロパティに追加するために、2つの単純なラッパー関數(shù)$actions
および$filters
を提供します。これは、そのようなクラスが実際に直接登録していないため、WordPressのデフォルトadd_action()
およびadd_filter()
関數(shù)と混同しないでください。すべてのフックは、$actions
と呼ばれる別の方法でのみ登録されます。$filters
add_action()
add_filter()
:すべての部分を接著するクラス。プラグインの名前やバージョンなど、プラグインに関する重要な情報(bào)が含まれています。さらに、上記の4つのクラスを含むrun()
メソッドを使用して依存関係をロードし、プラグインテキストフィールドは メソッドを使用して設(shè)定されます。以前に登録されたすべての管理フックとパブリックフックもここで定義できます。また、このクラスは、プラグイン名を返すように - などの簡単なGETメソッド、現(xiàn)在のプラグインバージョンを返すように、
class-plugin-name.php
のインスタンスを保持するためのメソッドを提供します。load_dependencies()
set_locale()
get_plugin_name()
get_version()
結(jié)論get_loader()
class-plugin-name-loader.php
要するに、WordPressプラグインボイラープレートは、プラグイン開発者に最適な出発點(diǎn)を提供します。これにより、推奨されるWordPressコーディング標(biāo)準(zhǔn)とWordPressドキュメント標(biāo)準(zhǔn)に従うため、最初から正しいパスにいることがわかります。さらに、WordPressプラグインリポジトリへの公開は、必要なもののほとんどをすでに提供しているため、簡単になります。コード組織とフォルダー構(gòu)造に精通したら、このシリーズの第2部でWordPressプラグインボイラープレートを使用して実際のプラグインを開発する方法を探ります。
以上が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)幛幛筏蓼?。上記の手順に従って、?chǎng)所を確認(rèn)して解決し、問題を1つずつ解決します。

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

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

コメントスパムを防ぐ最も効果的な方法は、プログラマティックな手段を介して自動(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í)別の精度を向上させます。ウェブサイトに基づいていることができます

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

Gutenbergブロックを開発する場(chǎng)合、エンキュー資産の正しい方法には次のものが含まれます。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.モバイルの適応とユーザーエクスペリエンスを考慮しながら、新しいフィールド表示と編集をサポートするインターフェイスとテンプレートを更新します。

WordPressにカスタム書き換えルールを追加する鍵は、ADD_REWRITE_RULE関數(shù)を使用し、ルールが正しく有効になることを確認(rèn)することです。 1. add_rewrite_ruleを使用してルールを登録します。形式はadd_rewrite_rule($ regex、$ redirect、$ after)です。 2。add_filterを介してカスタムクエリ変數(shù)を追加する必要があります。 3。変更後、固定リンク設(shè)定を更新する必要があります。 4.紛爭を避けるために、ルールを「トップ」に配置することをお?jiǎng)幛幛筏蓼埂?5.プラグインを使用して、利便性のために現(xiàn)在のルールを表示できます
