プラグインに必要な最小のWordPressバージョンを自動的に決定しますか?


22

プラグインを開発するとき、それを実行するために必要なWordPressの最小バージョンを自動的に決定する方法はありますか?Requiresヘッダーが正確であることを確認したいのですが、新しいコア関数を呼び出すたびに手動でチェックするのは面倒でエラーが発生しやすいです。

私はスクリプトが十分に簡単にそれを理解できると考えています:

  1. プラグイン内のすべてのファイルをスキャンします。
  2. 基づいて、すべてのクラスのインスタンスと関数呼び出して解析しnew foo( [...] )foo::bar( [...] )bar( [...] )call_user_func( [...] )、などの構文を。
  3. @sincephpDocタグを使用して、WPソースを解析し、それらのクラス/関数のそれぞれがWordPressに追加された時期を判断します。
  4. すべてのクラス/関数を含む最古のバージョンのWordPressとともに、各クラス/関数と追加されたバージョンをリストするレポートを生成します。

私は周りを見回しましたが、そのようなものを見つけることができず、自分で書く時間もありません。誰もが既存のソリューションを知っていますか?


これを見たことがありますか、wordpress.org
extend / plugins

それは:)、それを指摘してくれてありがとう良いスタートになるだろう
イアン・ダン

@IanDunnこれに対する解決策を見つけることができたなら、それを共有してください。:)
its_me

私はまだ解決策を見つけていません。
イアン・ダン

2
これについて考えれば考えるほど、WordPressはこれをビルドしてリポジトリ内のすべてのプラグインに対して実行するだけで、バージョン番号がすべてのプラグインに対して永遠に正確になるようです。
mrwweb

回答:


14

http://wpseek.com/pluginfilecheck/で自動化されたサービスとしてソリューションを見つけました

使用された関数のリストの生成を含め、プラグインヘッダーのコメントに対する提案を提供するように求められたものは、まさにそうです。


それはかなりクールです、ありがとう:) Webサービスではなく、WordPressプラグインそのものである方がずっと便利だと思いますが、何もないよりはましです。
イアン・ダン

2
残念ながら、「ファイルごと」でもあるため、プラグイン全体をアップロードすることはできません。しかし、まだ非常に有用なリソース-素晴らしい発見!
スティーブンハリス

2
そのサービスは現在、zipファイルをアップロードをサポートし、それが自動的に:)その中にすべてのファイルをスキャンします
イアン・ダン

ビルド中にこの(de.wpseek.com/pluginfilecheck)またはプラグインの静的分析に別の代替を追加する方法はありますか?コミットごとに他の静的分析とともにレポートを自動的に生成します。
learning_13

3

更新:これはもはや正確ではありません。carstenbachの回答をご覧ください。


まあ、答えは「いいえ、これに対する既存の解​​決策はありません」のようです。

誰かがそれを書きたいなら、これらは役に立つかもしれません:

WordPress.orgリポジトリに機能を組み込むことについてのMarkのコメントは本当に良いアイデアだと思いますが、コアチームが追加することを検討する前に、コミュニティが有用であることを証明するためにコミュニティが最初に作成しなければならないものかもしれません。


2

さて、これは出発点に過ぎませんが、WP関数とそれらが追加/削除されたバージョンのこの素晴らしいリストがここにあります。残念ながら、WP 3.0.1までしかありませんが、3.0をベースラインとして撮影している場合は、少なくとも役立ちます。リストにない場合は、後で追加されます。あなたはOzhにメールを送ってリストを更新するように彼に頼むかもしれません、そして私たちの一人が不満を感じたら誰かがチェックするプラグインを作ることができます(逆の非推奨チェッカーのように)。

ETA:@mrwwebあたり- アダムブラウンのフックリスト!現在は3.3であり、1.2.1に戻りますが、これは彼らの正しい考えの誰ももう実行していません(リリース日は2004年10月6日)。


2
Adam Brownのバージョンごとのフックのリスト(1.2.1に戻って!)を追加しますが、これも確認しておくと良いでしょう。
mrwweb

Deprecation Checkerプラグインへのリンクをお寄せいただきありがとうございます。このプラグインを作成する時間があれば、いくつかの有用なコードを作成できます。
イアン・ダン

これは、WPSEユーザーのBrian Fegterによる素晴らしいプラグインです。
-SickHippie

0

答えは非推奨の通知にあると思います-WP_DEBUG trueで開発する必要があります-それらを表示するか記録するかはあなたの呼び出しですが、非推奨の関数を使用するとWPから通知されます。

あなたが言うように@を解析することは可能ですが、ツールはこれまでのところあなただけを連れて行くことができます。


1
質問の逆に答えたと思います。質問は、現在サポートされている関数のサポートがどれだけ遠いかを判断したいものです(たとえば、プラグインが使用する関数は3.1で導入されたため、以前のバージョンではプラグインは機能しませんが、その関数はエラーまたは通知をスローしません)それが理由れるようになりまし)。
mrwweb

あなたは正しいです、疲れた投稿のために私に正しく奉仕してください。次に、最後のメジャーバージョンに対して手動でチェックし、それを任意の開始点として使用することをお勧めします。これは、ユーザーがWPを最新の状態に保つことを奨励することは、誰にとっても最大の利益になるからです。開始点が確立されたら、非推奨の機能やメソッドを回避するためのリファクタリングをそこに記載する必要があるため、Requiresバージョンを最新の状態に保つために、コミットメッセージはおそらく最適な場所です。
クリスコックス

wordpress.org/about/statsを見ると、3.2は撮影するのに適したバージョンだと思います。以前のバージョンは統計的には重要ではありません。
クリスコックス

クリスのアイデアに感謝しますが、ここでの主な目的は自動化されたソリューションを取得することでした。ただし、3.2よりも古いバージョンは統計的に重要ではないという点を指摘します。
イアン・ダン

私はあなたに取り引きをします-あなたがそれをあきらめて書いたら、私に知らせてください、そして、私が私がそれを書くことを回避するかどうか知らせます。これは良いアイデアであり、誰のツールボックスでも役立つツールになります。
クリスコックス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.