3

私はしばらくこの問題を抱えていましたが、最終的に解決できると考えて、それを回避し続けてください。

次のように、メインのプラグイン ドキュメント (プラグインのタイトルとバージョンが含まれているドキュメント) にファイルを含めようとしています。

define('SBT_PLUGIN_URL', plugin_dir_url(__FILE__));

include(SBT_PLUGIN_URL . 'competition_table.php');

Competition_table.php の中には add_shortcode(); があります。ショートコードをワードプレスに登録するために実行する必要がある関数:

function add_table() {
  //Run code here
}
add_shortcode('competition_table', 'add_table');

サイトでコードを実行すると、リンクは正しいファイルを含めて適切に解決されますが、次の致命的なエラーが発生します。

Call to undefined function add_shortcode()

しかし、competition_table.php にあるものとまったく同じコードをメインのプラグイン ドキュメントに追加すると、コードは完全に実行されます。

基本的に、私の質問は、Wordpress がそれ自体の機能を認識しないのはなぜですか?また、コードを適切に実行するためにファイルを含めるにはどうすればよいですか?

前もって感謝します

4

2 に答える 2

1

WP_DEBUG有効にして開発する必要があります。エラーをダンプします: wrapper is disabled in the server configuration. それが私を次のように導きました:「信じてください、あなたはURLから含めたくありません. .

plugin_dir_url()次に、必要なものがpathであるときに、その定数を で定義していることに気付きました。次のマジック定数がその役割を果たします。

include_once __DIR__ . '/competition_table.php';
于 2013-10-30T15:55:51.760 に答える