如何在http请求被寻址时执行插件脚本?

时间:2012-10-17 11:45:50

标签: php wordpress

我写了一个执行一些通知任务的插件。这很好用。 现在,我想在HTTP请求被寻址时执行主插件脚本。 就在这里,我有点困惑:

我的插件源代码位于经典的WP插件目录中: /可湿性粉剂内容/插件/ MY-插件

以下是我在寻址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中使用重定向规则吗?

这样做的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

你可以尝试

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

http://codex.wordpress.org/HTTP_API