在帖子编辑页面的“发布”按钮下方,添加一个按钮,“拒绝并通知”,单击该按钮后,打开一个模式(thickbox)窗口,其中包含一个表单(使用帖子作者姓名、帖子标题和标准消息预编译),您可以使用该表单将电子邮件发送给帖子作者。
要做到这一点,您需要:
打印按钮的功能。您可以使用\'post_submitbox_misc_actions\'
操作挂钩,将其打印到正确的位置,这是一个在模式窗口中输出表单的函数。此函数应使用当前帖子id获取作者,并将作者电子邮件置于隐藏字段中
一个在提交表单时发送电子邮件的功能,最后两个功能可以轻松使用Ajax Api, 因此,您还需要一个js文件来放置ajax和其他js代码。因此,脚本排队和脚本本地化需要另一个函数wp_localize_script
该按钮还应包含有关当前帖子的js可访问信息data-*
属性可以用于此。
对于打印按钮和表单的功能(点1和点2),您必须检查:
当前用户具有编辑器功能当前页面是post编辑页面(post.php)
在发送电子邮件的功能中(第3点)您必须执行一些安全任务:检查当前用户是否具有编辑器功能检查一个nonce(以前添加为表单上的隐藏字段)
之后,此函数应输出邮件发送过程的一些信息(消息是否发送)并将其输出为json,通过js可以对模式进行反馈。如果发生错误,最好还输出一些调试信息,可能检查调试是否在WP中处于活动状态。编辑:插件代码在原始答案中,我将代码发布在这里。现在,我刚刚创建了一个插件,其中包含了这里使用OOP方法描述的所有工作流。该插件已经准备好进行本地化,并且已经用意大利语进行了本地化。
GPL中的插件已获得许可并可用on GitHub.
插件截图
<小时>
<小时>
如果出现问题并且调试处于活动状态