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 中编写一个网络服务吗(我对此并不熟悉)?
  • 我应该在 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 回答