タグ付けされた質問 「plugin-development」

WordPressプラグインを使用すると、WordPressブログを簡単に変更、カスタマイズ、拡張できます。WordPressのコアプログラミングを変更する代わりに、WordPressプラグインを使用して機能を追加できます。

10
プラグインを構成する方法
これは、WordPressプラグインの作成方法に関する質問ではありません。むしろ、もしあれば、プラグインのファイルアーキテクチャをまとめる方法に適用できるガイドがあります。 他のいくつかのプログラミング言語またはライブラリには、ディレクトリとファイルを整理する非常に制御された方法があります。これは迷惑で、PHPが提供する自由を際立たせることもありますが、一方で、WordPressプラグインは作成者が決めたように、あらゆる方法でまとめられます。 正しい答えはありませんが、私と他の人がプラグインをどのように構築して他の開発者がより使いやすく、デバッグしやすく、ナビゲートしやすく、おそらくより効率的にするかを改善することを望んでいます。 最後の質問:プラグインを整理する最良の方法は何だと思いますか? 以下にいくつかのサンプル構造を示しますが、決して完全なリストではありません。独自の推奨事項を自由に追加してください。 想定されるデフォルト構造 /wp-content /plugins /my-plugin my-plugin.php モデルビューコントローラー(MVC)メソッド /wp-content /plugins /my-plugin /controller Controller.php /model Model.php /view view.php my-plugin.php MVCの3つの部分: モデルのデータベースとの相互作用、データを照会し、保存、およびロジックが含まれています。 コントローラは、ビューが利用するであろうことを、テンプレートタグや機能が含まれています。 ビューは、コントローラによって構成されたモデルによって提供されるデータを表示するために責任があります。 タイプメソッド別に整理 /wp-content /plugins /my-plugin /admin admin.php /assets css/ images/ /classes my-class.php /lang my-es_ES.mo /templates my-template.php /widgets my-widget.php my-plugin.php WordPressプラグインボイラープレート Githubで利用可能 プラグインAPI、コーディング標準、およびドキュメント標準に基づいています。 /wp-content /plugins /my-plugin /admin …

3
複数のプラグインディレクトリを追加する
タスク register_theme_directory()WPインストールに使用して、追加のテーマディレクトリを登録できます。悲しいことに、コアはプラグインと同じ機能を提供しません。MU-Plugin、Drop-In、Plugins、Themesはすでにあります。しかし、より良いファイル編成のためにはもっと必要です。 達成すべきタスクのリストは次のとおりです。 追加のプラグインディレクトリを追加する 各プラグインディレクトリには、ここに示すように新しい[タブ]が必要です[1] 追加のディレクトリは、デフォルトのプラグインディレクトリと同じ機能を持ちます。 そこには何がありますか? 最良かつ最も完全な回答には賞金が授与されます。 [1]新しいプラグインフォルダー/ディレクトリの追加タブ

1
プラグイン開発にカスタム投稿タイプまたはカスタムデータベーステーブルを使用する必要がありますか?
私はワードプレスプラグインを書くのはかなり新しいですが、私はすでに深い終わりに飛び込んできましたので、今後の大きなプロジェクトでそれが「正しく」行われるようにしたいと思います。 私はWordPressをかなり大きなWebアプリに大幅に拡張し、WordPressフレームワークに依存するためにデータ構造をできるだけネイティブに保ちたいと思っていますが、独自のカスタムデータベーステーブルを作成する方が良いかどうかわかりませんまたは、カスタム投稿タイプを使用してみてください。 私はまだすべてのデータを知りませんが、多くのテーブル(またはcpt)がリレーショナルにリンクされます。カスタムデータベーステーブルを避ける必要があるという調査から「バイブ」を取得しますが、最適なソリューションを決定する方法がわかりません。 具体的には、次の3つの領域が心配です。 そのルートに行くと、それが物事を「トリッキー」にする場合、cptごとに余分なフィールドに必要なポストメタフィールドの数 レポート用の半複雑なリレーショナルフィルターを使用してクエリをどれだけうまく取得できるか 特に多対多の関係がある場合、関係を最適に管理する方法 「正しい」方法はありますか?ご意見ありがとうございます。

10
WordPress開発にはどのプロセスを使用しますか?[閉まっている]
WordPressのテーマとプラグインを他の人がどのように開発しているかに興味があります。私にとって、管理パネルのブラウザ内エディタは、それをカットしません。現在、PHPプラグイン(NetBeans)を備えたIDEを使用して、サーバーから開発Webディレクトリを取得し、そこで編集し、テスト用にプッシュしてから、ライブに移行しています。 テーマ、プラグインの開発、テスト、展開、最新バージョンのWordPressのテスト、展開のワークフローを管理するために、他の人が選択したツールを使用する方法を探しています。 これをコミュニティWikiにして、他の人が開発プロセスを共有できるようにしました。私はここで唯一の正解を見つけることを期待していません-あなたのプロセスはあなた自身のものであり、私はあなたが自分自身や他の誰かのために働くために何をするかを期待しません。私は、他の人にとって何がうまくいくか、何がうまくいかないかを見ることによって、プラグインとテーマを開発する能力を向上させることに興味があります。 ここでの別の質問では、WordPress開発をサポートする特定のソフトウェアツールについて説明します。ここでは、特定のツールファミリーでしか達成できない特定のタスクを除き、ツールとは無関係に適用できるプロセスと方法論を探しています。

3
WPINCとABSPATHの違いは何ですか?
プラグイン開発者は、プラグインを直接アクセスから保護するのが一般的です。私はそれを行う2つの方法を見ました: if ( ! defined( 'WPINC' ) ) die; そして if ( ! defined( 'ABSPATH' ) ) exit; WPINCとABSPATHの違いは何ですか?それを行うための「正しい」方法はどれですか?

4
ここまたはウェブ上のどこかで見つけたコードスニペットをどこに置きますか?
ここや他の場所の多くの投稿にはコードが含まれていますが、それをどこに置くかは言われていません。 例: この投稿を見つけました:301リダイレクト投稿(標準ではない)をオフにするにはどうすればよいですか? 私はPHPの初心者です。答えからコードを正確にどこに配置する必要がありますか?


7
優れたWPプラグイン開発を実証するプラグインは何ですか?[閉まっている]
私はすぐに私の最初のプラグインに取り組むつもりです、そして、私はあなたが内部で非常に高品質であると感じるプラグインを探しています。プラグインのフレームワークを設計する際に、例として使用できるもの。 何か案は?優れたプラグインとなるものを含めてください。

1
配列を使用した設定APIの例
私はWrox WordPressプラグイン開発ブックを新しいプラグインの使用を開始するための主要なリファレンスとして使用しています。すべての設定は1つの配列として保存できることを理解していますが、この例では、 Webでの検索は、例ごとに非常に異なるようです。Konstantinの投稿の後半で私は親しくなりましたが、複数のフィールドを持つより完全な例を見てみたいです。

5
WP管理セクションの特定のページにいるかどうかを確認するにはどうすればよいですか?たとえば、[ユーザー]> [プロフィール]ページにいるかどうかを確認するにはどうすればよいですか?
私はプラグインを作成していますが、特定の管理ページのみに、管理ヘッドにjavascriptを少し追加したいと思います。自分で作成したWordPressページのようなページではなく、「Your Profile」、「Users」などの既存の管理セクションページです。このタスク専用のwp関数はありますか?私は探していましたが、ブール関数is_adminとアクションフックのみを見つけることができますが、チェックするだけのブール関数は見つけることができません。

1
メディア以外のダイアログにwp.media.editor Modalを再利用することは可能ですか?
展開するには:同じエディターモード/コード(wp.media.Modal、wp.media.FocusManagerで使用されるもの)を使用して、メディアエディターではなく、独自のカスタムダイアログのモーダルを開きたいです。過去には、私はこの種のことのためにthickboxを使用していましたが、wp.media.Modalはモーダルの未来の道のようです-言うまでもなくクールに見えます。 私はJSソースを少し突いて、いくつかの可能な解決策に到達しました: コードmedia-views.jsを「借用」し、プラグインで使用します。 「拡張」wp.media.Modal(結局、バックボーンビューです)。 カスタム実装、jQueryUIなどを作成します。 あきらめて、thickboxを使用してください。 借入はwp.media.Model.extend({})を使用するよりもやや危険性が低いようですが、無駄です。私はjQueryUIのモーダルの大ファンではありませんが、仕事を成し遂げるでしょう。同時に、モーダルのカスタム実装を行うこともできます(または別のlibをベースにします)。 私は明白な何かを見逃しているように感じます:他の誰かがこれをやってのけましたか、または新しいメディアライブラリのモーダルコードは再利用を可能にする「あまりにも新しい」ですか?

4
プラグインを作成するには、別のプラグインが必要ですか?
メインプラグインに追加機能を追加するプラグインを作成しています。理想的には、プラグイン管理画面で「アクティブ化」リンクを無効にし、現在のプラグインを使用する前にメインプラグインをインストールしてアクティブ化するようにユーザーに指示するインラインノートを追加する必要があります。

5
プラグイン開発フレームワークはありますか
WordPressプラグインの開発は初めてなので、多くのプラグインの内部構造を調査しています。それらのほとんどはどのパターンにも適合しないため、それらがどのように機能するかを理解することは困難です。 公式ドキュメントに記載されている方法以外に、フレームワークを使用したプラグイン開発のより一般化された方法があるかどうか疑問に思っていました。

2
ギャラリーのメディアマネージャーの強化
WordPress 3.5以降のギャラリービューでメディアエディターを強化したいと思います。 右側に新しい選択フィールドを追加し、選択した値をギャラリーのショートコードに送信します。 私が思うに、機能wp.media.galleryでは、wp-includes/js/media-editor.jsギャラリーショートを挿入するデフォルトの関数です。 新しいパラメーターを追加したいのですが、パラメーターの値はMedia Manager内の選択フィールドから取得されます。 特にこの質問から、さまざまなソースで遊んだことがありますが、Backboneは私にとって非常に新しいものであり、どのように機能するのかわかりません。私もフックprint_media_templatesで遊んだことがありますが、メディアビューでは結果がありません。 どのフックを使用すればよいですか?

5
ポストメタと個別のデータベーステーブル
データストレージを必要とするプラグインを開発するとき、ある方法を使用することの長所と短所は何ですか? コーデックスに与えられた説明が詳細に説明されていません。 ただし、まったく新しいテーブルにジャンプする前に、WordPressのPost Meta(別名カスタムフィールド)にプラグインのデータを保存できるかどうかを検討してください。ポストメタが推奨される方法です。可能な場合/実際に使用してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.