我创建了一个 WordPress 插件(在 ChatGPT 的帮助下),它可以重写草稿中的帖子标题,以满足我需要的长度在 36 到 38 个字符之间的标准。目前这是通过单击“自动填充”按钮来实现的,然后让 ChatGPT 重写当前草稿标题,然后检查回复以查看其长度,如果不符合 36-38 个字符的限制,则过程为重复直到完成。然后更改标题并发布帖子。
这工作正常,但是,我试图使其更加自动化,因此不必登录 WordPress 并单击按钮来启动重写过程,只要保存新的草稿帖子,我就希望它,该过程然后自动启动。无论我尝试过什么,我都无法做到这一点,有谁知道我如何实现这一目标?下面是我手动按下按钮时有效的代码
'draft', 'numberposts' => 1, )); wp_send_json($draftPosts); } add_action('wp_ajax_get_draft_posts', 'chatgpt_get_draft_posts'); add_action('wp_ajax_nopriv_get_draft_posts', 'chatgpt_get_draft_posts'); // AJAX handler to update the existing draft post with the new title and publish it function chatgpt_create_draft_post() { $title = $_POST['title']; $draftPosts = get_posts(array( 'post_status' => 'draft', 'numberposts' => 1, )); if (empty($draftPosts)) { wp_send_json_error('No draft post found.'); return; } $draftPost = $draftPosts[0]; $draftPostID = $draftPost->ID; // Update the title of the draft post wp_update_post(array( 'ID' => $draftPostID, 'post_title' => $title, 'post_status' => 'publish', )); wp_send_json_success($draftPostID); } add_action('wp_ajax_create_draft_post', 'chatgpt_create_draft_post'); add_action('wp_ajax_nopriv_create_draft_post', 'chatgpt_create_draft_post');ChatGPT Dashboard
预先感谢您的任何帮助/建议
我尝试创建一个钩子和一个 cron 作业,但我有限的 php 知识无法实现这一点
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
假设您已经熟悉如何在 WordPress 中正确使用和实现钩子,我建议使用钩子“save_post”。 我就是这样做的:
// Register the hook add_action('save_post', 'your_function'); // Whatever function you need to be executed function your_function($post_id) { // Check if the post is a draft if (get_post_status($post_id) === 'draft') { } }参考: https://developer.wordpress.org/reference/hooks/save_post/
下次,如果你想让更多人愿意阅读并帮助你,请尝试缩短代码并注释它