让 WordPress 插件在特定事件后工作(例如,当创建草稿帖子时)
P粉265724930
P粉265724930 2024-01-10 18:11:14
[PHP讨论组]

我创建了一个 WordPress 插件(在 ChatGPT 的帮助下),它可以重写草稿中的帖子标题,以满足我需要的长度在 36 到 38 个字符之间的标准。目前这是通过单击“自动填充”按钮来实现的,然后让 ChatGPT 重写当前草稿标题,然后检查回复以查看其长度,如果不符合 36-38 个字符的限制,则过程为重复直到完成。然后更改标题并发布帖子。

这工作正常,但是,我试图使其更加自动化,因此不必登录 WordPress 并单击按钮来启动重写过程,只要保存新的草稿帖子,我就希望它,该过程然后自动启动。无论我尝试过什么,我都无法做到这一点,有谁知道我如何实现这一目标?下面是我手动按下按钮时有效的代码


  

ChatGPT Dashboard

API Key
'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');

预先感谢您的任何帮助/建议

我尝试创建一个钩子和一个 cron 作业,但我有限的 php 知识无法实现这一点

P粉265724930
P粉265724930

全部回复(1)
P粉613735289

假设您已经熟悉如何在 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/

下次,如果你想让更多人愿意阅读并帮助你,请尝试缩短代码并注释它

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号