2

私はWPプラグインを開発しています。

現在、jquery を使用して、プラグイン フォルダー内のスタンドアロンの php ファイルに対して ajax 呼び出しを行っています。このファイルの名前がtest.php
であると仮定 しましょう。

ファイルはこの呼び出しの前にロードされないため、ネイティブの wordpress 関数はこのファイルでは機能しません。

その結果、私はrequire_once('wp.load');test.phpに持っています。

ここに私の質問があります:

  1. wordpress から必要な関数は $wpdb->insert だけです。wp-load よりも優れた機能はありますか? 必要なのはこの 1 つの機能だけなので、それほど多くは含まれていません。

  2. まだロードされていない場合にのみ、require_once がファイルをロードすることを理解しています。状況を見落としているのかもしれませんが、これはどのように ajax で動作しますか? 「成功」の応答があった場合、test.php は閉じますwp-load.phpか?

ありがとう!

4

2 に答える 2

2

「成功」の応答がある場合、test.php は閉じますか? したがって、再度呼び出されると、wp-load.php が再度読み込まれますか?

丁度。require_once(または)の背後にある概念は、同じ関数、クラス、および変数を、現在実行中の同じPHP コードにinclude_once同時にリロードしないようにすることです。

include_onceスクリプトの特定の実行中に同じファイルが含まれて2回以上評価される可能性がある場合に使用される可能性があるため、この場合、関数の再定義、変数値の再割り当てなどの問題を回避するのに役立ちます.

また、PHP スクリプトは要求があった場合にのみ実行されるため、説明した内容はまさにそれがどのように行われるかです。

とは言っても、wp.load必要になるたびに全体をロードするという概念を考えすぎることはありません。目立つほどのパフォーマンスの低下を引き起こすとは思えません。

于 2013-01-27T20:33:28.043 に答える
0

Ajax を利用したプラグインを作成するには、この方法に従うことを検討する必要があります。通常、別の PHP ファイルを作成して WordPress コアをそのファイルにロードする必要はありません。これを注意深く読むと、それが比較的簡単に実行でき、スタンドアロンの PHP ファイルよりも柔軟であることがわかります...

于 2013-01-27T21:21:04.017 に答える