WordPressプラグイン開発の初心者向けガイド
WordPress CMSは私たちのインターネットの表面を変え、新しいアイデアの急増を成功させ、そのオープンソースの動きはソフトウェアとWeb開発に根ざした強い存在感を保っています。 WordPressは、Webフォーラム、求人掲示板、さらには従来のWebページコンテンツ管理システムなど、他の多くのスクリプトを起動する機能を持つブログプラットフォームです。.
WordPress用のプラグイン開発を始めるためのいくつかの方法を検討します。手順はかなり単純で、勉強に多大な努力を必要としません。 PHPの基本的な知識は、WordPressのファイル構造と管理パネルの基本的な知識があっても役に立ちます。.
この簡単なチュートリアルでは、簡単なWordPressプラグインを作成するために必要な基本的な手順を説明します。この機能は、関数呼び出しに渡された数に基づいて動的な抜粋を作成するために使用されます。プラグインファイルをアップロードして[管理]パネルからアクティブ化し、次に抜粋を表示したいページから関数を呼び出してフォローアップする必要があります。完成したプラグインのソースコードへのリンクは、この記事の後半で既に追加されています。
WordPress用に開発する理由?
プラグインは、追加機能を追加することによってブログの機能を強化するための優れた方法です。これらは関数フックによってあなたのテンプレート内のどこにでも置くことができます。時間が経つにつれてWordPressのプラグインシステムの拡張性は途方もない成長と何百もの開発者が投稿したソフトウェアを可能にしました.
WordPressは特にその独自のCMSでそのような高度な機能を提供しています。開発者として、あなたはあなたのウェブログのバックエンドの詳細を完全にコントロールすることができます。システムプラグインを作成するためにPHP開発者を雇うことはあなたが想像するよりもはるかに多くの費用がかかるでしょう、そしてAPIはあなた自身と働き、あなた自身を学ぶのに十分に簡単です。.
二次的な議論として、WordPress上で開発することは他の分野に自分自身を合わせるための素晴らしい習慣です。 WordPressで小さなプラグインやサイドバーウィジェットを作成すると、バックエンドシステムが実際にどのように機能するのかを理解するのに役立ちます。コンテンツシステムの大部分をより深く理解できるようになるので、これはWordPressだけに限定されません。.
1. WPのフォルダ構成
WordPressのフォルダ構造を紹介すると、基本的なアプリのディレクトリが表示されます。 wp-contentの中には プラグイン ディレクトリ。ここにはあなたの個々のプラグインがすべて収容される場所があります。単一ファイルか適切な名前のサブディレクトリのどちらかです。.
単一の.phpファイルしか必要としない小さなプラグインの場合は、これを直接plug-ins /ディレクトリに配置することができます。しかし、もっと複雑なアプリケーションの開発を始めるときは、プラグインの名前を付けてサブディレクトリを作成するほうがはるかに便利です。あなたの中にあなたのPHP機能と共にJavaScript、CSS、そしてHTMLインクルードを収納することができます.
A readme.txt
あなたがダウンロードのためにあなたのプラグインを提供することを計画しているならば、fileは同じく役に立つことができます。このファイルにはあなたの名前とプラグインが何をするのかを含めるべきです。作者としてあなたはまた各リビジョンについての詳細とどの更新が出てきたかを含めることを考慮するかもしれません.
2. PHPファイルを起動する
新しいプラグインを作成するときは、単純なPHPファイルから始める必要があります。これは任意の名前を付けることができますが、通常はプラグインの正式な名前を反映しているはずです。だから私は私たちの基本コードを作成し、私のファイルをhongkiat-excerpt.phpsと命名しました。.
プラグインの最初の行 しなければならない 解析エンジンのコメント情報になります。 WordPressがないとファイルを処理できないため、これは非常に重要です。下記はあなたがコピーしてあなた自身の方へ型を作ることができるサンプルコード断片です.
プラグイン名は、アクティブにしたときに管理バックエンドパネルに表示されるものです。プラグインパネル内の詳細ペインに配置されるURIと同じです。バージョンや説明を含める必要はありませんが、プラグインをよりプロフェッショナルに見せることができます。.
3. WordPressの命名規則とベストプラクティス
実際にプラグインを構成する方法はいくつかあります。多くの場合、PHP開発者は関数や変数名との衝突を避けるためにクラスシステム全体を作成します。 PHPの高度なOOP機能に慣れていない場合は、単にサンプル関数でコードを書くのが最善です。.
したがって、私たちのサンプルコードでは、データを格納するための単一の関数を書きます。また、テンプレートファイル内に実装するための鍵となるいくつかの変数を定義する必要があります。以下は、コアロジックを削除してプラグインファイルから取り出したコードの例です。.
あなたのサンプルコードを書くとき、それはWordPressによって設定された規制とガイドに従うのが最善です。すでに定義されている内部関数はたくさんあるので、すべての変数と関数名の前にラベルを付けることで重複を避けることができます。.
上記の例では、すべての設定名の頭に接頭辞を付けました。 ホンキート. これは通常あなたのプラグイン名に関連したあなたが選んだ任意のキーワードで置き換えることができます。上記のコードは サンプル設定 そして私たちの最終的なプラグインには関係ないはずです。これは単にあなたの変数名と関数呼び出しがどのように書かれるべきかについての洞察をあなたに与えるためです。.
4.フィルタとアクションに飛び込む
生のコードに飛び込む前に言及しておくべきもう一つの概念があります. 行動 そして フィルター プラグインデータを操作する方法に深く関連する2つのまったく異なる概念です。.
これら2ビットのコードはWordPress API内に標準で入っています。フィルタとアクションによって、プラグイン開発者は新しいプラグインに関連するWordPress管理パネルを通してコードの一部を更新することができます。つまり、サイドバーに新しいタブを追加したり、プラグインオプション用の追加設定リンクを追加することができます。.
add_filter()について
A フィルタ WordPressに渡されるテキストやデータに使用されます。フィルタを使えば、文字通り次のことができます。 フィルタ内容 任意の方法でデータを変更するための独自のカスタム作成関数を介して.
たとえば、変更するフィルタを作成するとします。 $ the_content
これは、WordPressの記事の投稿内容全体を含む、WordPressによって設定された変数です。私達のプラグインのために私達は取っています $ the_content
文字の長さを抜粋にして短くする.
ブログの外観をカスタマイズするためのプラグインを作成するときには、フィルタが役立ちます。投稿がどのように表示されるべきかを変更するためにサイドバーウィジェットやより小さな関数を書くとき、これらは特に人気があります。以下は、フィルタを適用する方法を示すサンプルコード行です。.
add_filter( 'wp_title'、 'hongkiat_func');
ここではWordPressのページタイトルにフィルタを追加しています。このコードは私たちの公式プラグインとは関係がなく、ここでは例として使われているだけであることに注意してください。.
の add_filter
この関数はWordPress固有のもので、ページコンテンツ内で見つかった変数に新しいフィルタを追加するために使用されます。上記の行では、ターゲットにしています $ wp_title
現在のページのタイトルが含まれています。それから、この変数をという偽の関数に渡します。 hongkiat_func()
それはどんな目的のためにも新しいtitleタグを操作して返すことができます.
add_action()について
アクションはフィルタに似ていますが、それはわずかなデータでは機能せず、代わりにテンプレートと管理パネルの定義済み領域を対象としています。一例として、ページのコンテンツを更新または編集するたびにアクションを適用できます。 WordPressは、そのAPIドキュメントに包括的なアクションリストを提供しています。以下は、いくつかの定義済みのターゲット領域に慣れるための簡単なアクションの例です。.
- publish_post - 投稿が公開されたとき、またはステータスがに変更されたときに呼び出されます。 “公開済み”
- 投稿を保存します - 投稿/ページが最初から作成されたとき、または更新されたときに呼び出されます。
- wp_head - テンプレートがロードされて実行されるときに呼び出されます。
wp_head()
関数 - loop_end - 最後の投稿がWordPressループを通して処理された直後に呼ばれます
- trackback_post - 新しいトラックバックが投稿に追加されるたびに呼び出されます
繰り返しますが、このコードがどれほど単純であるかがわかります。アクションとフィルタの違いを理解することができれば、包括的で実用的なWordPressプラグインを構築することに非常に近づくことになるでしょう。以下は、アクション関数を初期化する別のコード行です。 投稿を保存します
フック。再び明確にするために、これは私たちの現在開発中のプラグインには関係しておらず、理解するためのコード例の一部としてのみ使用されています。 add_action()
関数.
add_action( 'save_post'、 'notify');
だからここで我々は前と同じような設定を見る add_filter()
. 2つの変数が必要です。最初の変数には、ターゲットとしているフックの名前が入ります。この場合 投稿を保存します
つまり、新しい投稿が保存されるたびに、2番目の位置で定義された関数を呼び出すことになります(notify()
)あなたが明らかに実行したいどんな関数名になるようにnotifyを更新することができます、しかしこれは我々の現在の例のプラグインに必要ではありません.
プラグインロジックを完成させる
最終的な機能をプラグインファイルに追加します。 APIドキュメントは非常に具体的であり、高度な質問をするかもしれない開発者に優れたリソースを提供します。あなたがPHPに慣れていないが概念に時間をかけると物事は自然に流れ始めます!
以下の機能は、プラグインのヘッダコメントの直後に追加する必要があります。あるいは、これをあなたのテーマの中に置くこともできます。 functions.php
ファイル。このコードは、限られた範囲の文字に基づいて動的な投稿コンテンツを作成するために使用されます。.
したがって、この例では、ストーリーの抜粋を55文字までに制限できます。 hk_trim_content()
関数。あなたは簡単に置き換えるためにサイドバーウィジェットまたはあなたのテーマファイルのうちの1つからこのコードの一部を呼び出すことができます $ the_content
.
= $ limit)array_pop($ content); $ content = implode( ""、$ content)。 '…'; else $ content = implode( ""、$ content); $ content = preg_replace( '/\[.+\]/'、 "、$ content); $ content = apply_filters( 'the_content'、$ content); return $ content;?>
ここで使用されているすべての内部変数または関数を完全に理解しているとは思わないでください。あなたの関数がどのように書かれるべきか、そして例の集合がどのように見えるかについての一般的な理解を得ることは非常に良いスタートです。.
あなたはまた私達がへの呼び出しを使用していることに気づくかもしれません apply_filters
これはWordPress固有の機能です。これはあなたが完全に把握する必要がないもう一つの側面ですが、それはWP上の将来のプログラミングに役立ちます。この件に関する詳細とFAQについてはapply_filtersのリファレンスページをチェックしてください。.
上記のコア機能は、 hk_trim_content()
. これは1つのパラメータだけを必要とします $ limit
. これはまた短縮することができます $ lim
抜粋を制限する文字数を指定する整数を格納する必要があります。コンテンツは完全な投稿ページでも静的ページでも使用されます(私達については、連絡先).
したがって、この関数を呼び出すには、テンプレートファイルにパラメータを追加する必要があります。これはおそらくあなたのどこかに置かれるでしょう index.php
または loop.php
ファイルと最初にプラグインをインストールする必要があります。以下の例
プラグインのインストールと実行
ハードコーディングをスキップしたい場合は、デモ用のプラグイン用のサンプルファイルを作成しました。このファイルをダウンロードする(名前を.phpに変更する)か、コードをコピーして新しいPHPドキュメントに貼り付けて、これをあなたのサイトにアップロードしてください。 / wp-content / plugins
ディレクトリ.
完了したら、WordPressの管理パネルにアクセスして、インストールしたばかりのデモ用の現在のプラグインセットを参照します。一度アクティブにすると、関数呼び出しを手動で追加するまでは、新しいことは何も起こりません。これを行うには、単にナビゲートします 外観 - >エディタ
そして探して single.php
.
このファイルはあなたの基本的な記事投稿ページのためのすべてのテンプレートHTML / CSSを含みます。見つかるまで下にスクロールします コンテンツ()
上記のコード例に置き換えます。どのビューが使用されていても、これはあなたのすべての記事ページを55文字に制限します。次のように、テンプレートディレクトリの同様のページにこの関数を追加することもできます。 search.php
または archive.php
.
結論
これらはあなたがWordPress開発の範囲内で働き始めるための基礎のいくつかです。プラグインシステムは広大で、たくさんの内部機能を含んでいます。プラグインのアイデアがすでにある場合は、WordPressのローカルインストールでこれらのトピックを練習してみてください。.
それでも多くの情報に困惑しているのであれば、WordPressのドキュメントを調べて、そこで答えを探すことができます。開発コミュニティは役に立つユーザでいっぱいです、そしてフォーラムは何年も前からの質問でアーカイブを保持します.