How do I set up a webhook?

时间:2017-07-20 作者:William Entriken

我有一个简单的脚本,可以发送松弛消息、运行报告和做其他事情。我希望此脚本在用户在我的网站上购买东西后直接运行。我不想使用WordPress构建此功能,我的目标是拥有松散耦合的系统。

输入WEBHOOKS。

Webhooks听起来和我想要的一模一样。WordPress上发生了一些事情,然后它ping我的报告服务器。

WordPress在https://en.support.wordpress.com/webhooks/ 它声明在管理中的设置下有一个WEBHOOKS选项。

enter image description here

然而,在我的WordPress上,我没有这个菜单选项。

enter image description here

要得到这份菜单,我有什么特别的事情要做吗?

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

您使用的是自托管WordPress,有时也称为WordPress。组织。

调用远程钩子仍然是一种可能性,但除非您的电子商务解决方案支持远程钩子,否则您可能需要添加自定义代码。

选项-查找插件有一些插件,当某些事件发生时,例如表单提交时,这些插件会将数据发布到外部URL。这些可能是特定于您的表单的,也可能是一些通用的(支持不同的表单)。WooCommerce和其他系统可能有一些功能。不幸的是,如果不知道您使用的是什么,就无法更具体地描述

购买-您的支付处理器可能有Webhook

添加自定义代码为您创建webhook,WordPress中的每一个动作都会触发一些“动作”,您的插件可以捕捉到这些动作。基本上,您所需要做的就是注册和操作,一旦发生,就将其发布到外部服务器。

有关操作的详细信息:https://codex.wordpress.org/Plugin_API#Hooks:_Actions_and_Filters

SO网友:Jannis

由于过去几年发生了很多变化,我想更新一下WordPress webhook世界的新内容(2019+).

您提到的文档由WordPress提供。com,这是一种不同于通过WordPress自托管网站的服务。组织。

要实现这一目标,有两种可能性:

1. Use an already existing plugin

最简单的方法是使用已经提供webhooks的插件。如果您想涵盖特定的用例,那么搜索特定的解决方案是有意义的。例如,Woocommerce将slack集成作为插件提供:https://woocommerce.com/products/woocommerce-slack/

如果你想global solution 这样你就可以基本上整合所有东西,我推荐你WP Webhooks - 他们有一个可用的免费版本,而且开箱即用效果很好。它不仅允许您从WordPress发送数据,还允许您接收数据。您还可以通过以下两种方式轻松连接Zapier, automate.io 还有很多其他服务。

另一个可能的插件是Hookpress - 它还为您提供了将数据从WordPress发送到任何webhook的可能性。唯一的问题是not 继续维护compatibility issues 使用PHP 7+

另一个插件是WebSub/PubSubHubbub - 它工作得也很好,但有更具体的用例。

2. Custom Code

如果上述任何一项都不适合您的用例,您可以随时开始为其创建自己的代码,或者聘请开发人员为您完成这项工作。如果你想自己做,你应该检查以下WordPress功能:wp\\u remote\\u postwp\\u remote\\u get

如果你想雇佣一名开发人员,我建议你在fiverrUpwork 或者如果你只需要专业的开发人员Codeable

如果你知道一些我不知道的事情,请随时联系我,我也会补充:)

SO网友:Daggie Blanqx - Douglas Mwangi

使用自托管网站时,请执行以下步骤:

登录站点管理仪表板yoursite.com/wp-admin

单击设置,然后单击写入设置yoursite.com/wp-admin/options-writing.php

滚动到您的Update Services

添加端点URL

这就是所有步骤。

结束

相关推荐

使用自定义AJAX登录时可以进入wp-admin

我使用自定义ajax登录了我的站点。然后尝试连接我的wp管理员,页面会将我重定向到登录。phpphp中的自定义ajax函数;function ajax_login(){ check_ajax_referer( \'ajax-login-nonce\', \'security\' ); $info = array(); $info[\'user_login\'] = $_POST[\'username\']; $info[\'user_password\'] = $_POST