Callback URL in WordPress

时间:2015-05-15 作者:user2879175

我想使用此服务OnWebChange 监控网站何时更改,并相应地更改我的网站。它会通过一个URL回调通知我,通过HTTP POST方法返回我的网站URL。我用什么工具/API/插件来“捕捉”那些帖子?我搜索了很多,只找到了如何发帖子,但当帖子来自另一个网站时,并没有“抓住”他们。如果我有权访问apache,我可以安装一个模块来转储帖子,但我使用的是Wordpress,没有访问权限。

1 个回复
最合适的回答,由SO网友:gmazzap 整理而成

这很简单,只需使用您的网站主页url:)

之后,只需在通过POST HTTP方法和带有回调的挂钩。

add_action( \'wp_loaded\', function() {
   if ( $_SERVER[\'REQUEST_METHOD\'] === \'POST\' ) {
      // fire the custom action
      do_action(\'onchangeapi\', new PostListener($_POST));
   }
} );
现在是listener类

class PostListener {

   private $valid = false;

   /**
    * @param array $postdata $_POST array
    */
   public function __construct(array $postdata) {
       $this->valid = $this->validatePostData($postdata);
   }

   /**
    * Runs on \'onchangeapi\' action
    */
   public function __invoke() {
      if ($this->valid) {
          // do whatever you need to do 
          exit();
      }
   }

   /**
    * @param array $postdata $_POST array
    * @return bool
    */
   private function validatePostData(array $postdata) {
      // check here the $_POST data, e.g. if the post data actually comes
      // from the api, autentication and so on
   } 
}

结束