我曾想过使用get\\u delete\\u post\\u link(),但我不知道如何获得指向正确帖子的正确链接,也不知道在哪里实现。可能使用事件侦听器?我太迷路了。。
传递post ID或确保您在post循环中都可以工作,但由于您提到这是针对已注销的用户的,因此此功能无法启动,因为它会将用户发送到WP Admin。
因此,您有两种选择:
强制用户登录,并将该用户设置为作者在帖子数据中保存唯一标识符,然后将其与帖子ID和nonce一起传递回去。然后,您可以发出包含所有3项的请求,以验证删除帖子的确实是作者Warning: 如果没有某种形式的验证,任何人都可以通过运行每个可能的帖子ID来删除你网站上的任何内容。这很简单。
如何实现该请求可以采用两种形式:
将用户发送到同一页面,并将URL参数与帖子ID和验证值放在一起。然后在functions.php
查找这些值,验证用户是否可以这样做,通过wp_delete_post
, 然后在JS中向前重定向,当用户单击删除链接/按钮时,发出经过身份验证的REST API请求来删除帖子,并传递帖子ID和任何需要的信息。如果成功,请重定向用户。如果未成功,则显示消息。如果用户已登录,则可以跳过验证数据部分。如果您坚持要注销用户,那么您将需要选项2的自定义REST API端点。
联系表格7这是更困难的部分,如何将验证密钥保存到CF7创建的帖子中,或将其传递到CF7给出的响应中,这是本网站无法涵盖的。对于这一部分,您需要联系CF7支持渠道,包括官方支持、社区、聚会小组、FB小组等