0

いくつかの通知タスクを実行するプラグインを作成しました。これは正常に動作します。ここで、HTTP リクエストが処理されたときにメインのプラグイン スクリプトを実行したいと考えています。それはここです、私は少し混乱しています:

私のプラグインのソース コードは、従来の WP プラグイン ディレクトリにあります: /wp-content/plugins/my-plugin

そして、httpリクエストがアドレス指定されたときに実行したいメインスクリプトのソースは次のとおりです。

<?php
require_once('../wp-load.php');
require_once(ABSPATH."wp-content/plugins/my-plugin/classes/Model.class.php") ;
require_once(ABSPATH."wp-content/plugins/my-plugin/classes/MailNotifier.class.php") ;

$mailNotif= new MailNotifier('myadress@foo.bar');
$mailNotif->sendMailToRecipient() ;
?>

実際には、このスクリプトは次の場所にあります。WordpressRoot/script/main.phpこれは機能しますが、WP コア ファイルから削除して、プラグイン ディレクトリ内のファイルのみを取得したいと考えています。

私は実際に次の http リクエストに対処するこのスクリプトを実行します:http://example.com/script/main.phpしかし、それはテスト目的のためだけでした。

私が望むのは、http リクエストを使用してプラグイン ディレクトリにあるメイン プログラムを実行することです。シンボリックリンクを試みましたが、これは許可されていません:

ln -s /wp-content/plugins/my-plugin/script/main.php script

これを行うにはどうすればよいですか:

  • wordpress で Web サービスを作成しますか (あまり詳しくありません)。
  • WordPress でリダイレクト ルールを使用する必要がありますか?

これを適切に行うための最良の方法は何ですか?

4

1 に答える 1

0

あなたはとして試すことができます

$request = wp_remote_get('http://mydomain.com/script/main.php')
$theBody = wp_remote_retrieve_body($request);

http://codex.wordpress.org/HTTP_API

于 2012-10-17T12:57:49.857 に答える