wp-content / install.phpはドロップインですか?


9

ドロップインプラグインの内容と使用方法に関するドキュメントや説明が見つかりません。
このQ&A である「インストール時にコンテンツを取り込む」で質問が出されました。

wp-content/install.phpプラグイン可能な関数を再定義するファイルは、wp_install_defaultsドロップインプラグインですか?

私の研究結果

次のリストは、hakreの記事 interweb内の他のすべてのコピーの元のようです)からの抜粋です。

File                Type of Plugin                          Loaded                          Context
advanced-cache.php  Advanced caching plugin.                on WP_CACHE value               Single
db.php              Custom database class                   always                          Single
db-error.php        Custom database error message           on error                        Single
install.php         Custom install script                   on install                      Single
maintenance.php     Custom maintenance message              on maintenance                  Single
object-cache.php    External object cache                   always                          Single
sunrise.php         Executed before Multisite is loaded     on SUNRISE value                Multi
blog-deleted.php    Custom blog deleted message             on deleted blog                 Multi
blog-inactive.php   Custom blog inactive message            on inactive blog                Multi
blog-suspended.php  Custom blog suspended message           on archived or spammed blog     Multi

Source: Data taken from global function _get_dropins() in wp-admin/includes/plugin.php.

コーデックスでは、ドロップインは次のように定義されています。

具体的なPHPファイル


最初は、[wp-hackers]リストには何もありません。そして、「ドロップイン+ワードキャンプ」を検索すると、私はこれ私の強調に関連していることだけを見つけました

WordPressの大きな強みの1つは、プラグインシステムです。次の2.1リリースでは、ドロップインプラグインとして実行できないことはほとんどありません。これにより、WordPressをCMSとして簡単に使用できるようになり、カスタマイズをメインのコードラインから分離することができます。これにより、アップグレードとメンテナンスが簡単になります。


1
それは単なる意味論ではないですか?英語のネイティブスピーカーではないので、「ドロップインプラグイン」と「プラグイン」の暗黙の違いを
見逃しました

@MarkKaplun:いいえ、いいえ、それは意味論についてではありません。質問は3番目の文にあります:再定義するwp-content / install.phpファイルです[...]
brasofilo

私はあなたが何を求めているのかわかりません。すでにドロップインは、プラグインヘッダーのないmu-pluginsのようにロードされたファイルです。何が開いていますか?
fuxia

@toscho、要点:Wyckはそれwp-content/intall.phpはドロップインではないと述べました。彼の知識を信頼して、それを明確にするために質問が必要だと思いました。そうでなければ、私は喜んでこれを削除します。他の論争的なトピックを作成したくありません。
ブラソフィロ

それは、より良い質問をするだろう:ですinstall.phpドロップでは?
fuxia

回答:


9

あなたの質問に答えるために、はい

実際、そのファイルでオーバーライドできる他の多くの関数があり、それは「wp-admin / includes / upgrade.php」の最初の行として含まれており、オーバーライドされる内部に多くの関数があります

残念ながら、ドロップインプラグインに関する情報はあまり多くありませんが、いくつかの点を説明します

  1. これらは通常のプラグインとは異なり、wordpress adminを通じてパッケージ化およびインストールすることはできません。
  2. それらを使用すると、所有者がプラグインを正しい場所に手動でアップロードしたことになります。したがって、それは所有者自身によって記述および追加されたと想定されています。
  3. これらのプラグインは、特定のワードプレスサイトに固有のコードを持つことのみを目的としています。
  4. それらは所有者によって追加されるため、管理パネルから制御(アクティブ化/非アクティブ化)することはできません。includeステートメントはコアにハードコーディングされています。
  5. ファイルヘッダーは必要ありません。

要約すると、対応する機能がワードプレスによってロードされているときはいつでも、それらは(存在する場合)インクルードされるようにハードコーディングされたphpファイルです。

それらを使用するには、「wp-content」ディレクトリ内にその名前のphpファイルを作成するだけで、自動的に含まれます。もちろん、そのファイルには、必要に応じて他のファイルをいくつでも含めることができます。

編集

toschoが指摘したように、
1)ドロップイン(利用可能な場合)は、他のすべてのプラグインとともにwordpress管理パネルにもリストされます。他のプラグインとは異なり、そこからプラグインを非アクティブにするコントロールはありません。
2)Wordpressは、それ自体をアップグレードする場合(コアアップグレード)、「wp-content」ディレクトリを変更しません。このため、これらのプラグインはアップグレード間で変更されることはありません。
3)で定数を定義してwp-config.php、「wp-content」ディレクトリを他のディレクトリに変更できます。定義する必要がある定数はWP_CONTENT_DIRです。これにより、プラグインディレクトリなどの他の定数のデフォルトも変更されるため、必要に応じて、これにも注意する必要があります。


2
それらは、WordPressの更新後も存続し、プラグイン管理ページに一覧表示され、追加のドロップインパスをで定義できますwp-config.php
fuxia

素晴らしい要約、Mridul。私はコアを検索しところです。そうです、あなたはコードが言っていることをほとんど英語に翻訳しています。
ブラソフィロ

1

仕組みwp-content/install.php;

WPインストールプロセスが実行されます wp-admin/install.php

インストールの39行目で実行されます wp-admin/includes/upgrade.php

require_once( dirname( __FILE__ ) . '/includes/upgrade.php' );

次に、このファイルはまずユーザーが生成したinstall.phpを確認し、見つからない場合はこのコードに示されているデフォルトのインストールを実行します。

( file_exists(WP_CONTENT_DIR . '/install.php') )
    require (WP_CONTENT_DIR . '/install.php');

このワークフローはinstall.php、ドロップインであるかどうかにどのように影響しますか?
ブラソフィロ

それはまだ「ドロップイン」mu-pluginであり、上記でコメントしたIと区別したかっただけです。混乱を招き、申し訳ありませんが、Mridul Aggarwalは正しいと思います。
Wyck

問題ありません、私は本当に混乱しました。しかし、システムが1つの種類を使用する必要があり、別の種類をドロップインと呼び出す場合は、規則に従う必要があります。乾杯:)
brasofilo

命名規則はもっと明確でなければなりませんが、ほとんどの人はカスタムについて知りませんinstall.php
Wyck
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.