首页 文章

保存帖子后,Wordpress挂钩

提问于
浏览
0

我一直在寻找并找到了很多不同的答案,但是,我还没有找到明确的答案 .

我需要在完成保存到数据库的帖子后立即运行一个函数 . 这包括帖子的每个方面,包括post metas . 我试图挂钩到save_post,但似乎在保存post metas之前运行我的函数 . 我也尝试了post_updated和updated_postmeta,但我的函数似乎没有在它们中运行 .

另外需要注意的是,我需要访问我的函数中的帖子ID .

Edit, 我的插件使用高级自定义字段插件,我编码的函数使用update_field创建新的帖子元数据或根据某些内容更新现有的元素 . 这段代码有效 . 当我在post_updated钩子上运行该函数时,函数似乎运行但没有任何反应 . 如果我将die()添加到我的函数的末尾,我的代码可以正常工作,但是死会杀死页面,而我留下的只是一个空白页面,位于url wp-admin / post.php . 所以添加模具可以让我的功能工作,我不知道为什么没有死就不行 .

3 回答

  • 0

    我会评论你的帖子,但我不能,因为我没有50个代表 .

    你的意思是the_post? https://codex.wordpress.org/Plugin_API/Action_Reference/the_post

    function my_the_post_action( $post_object ) {
        // modify post object here
    }
    add_action( 'the_post', 'my_the_post_action' );
    

    它应该有帖子ID

    https://developer.wordpress.org/reference/hooks/the_post/

  • 0

    好的,我找到了如何使 publish_post 工作 .

    对于自定义帖子类型,您需要用帖子类型slug替换“post” .

    使用“配方”slug自定义帖子类型“Recipe”的示例 .

    add_action('publish_recipe', 'test_publish_post', 10, 2);
    function test_publish_post($post_id, $post){
    
        wp_die($post_id);
    }
    

    Don't forget to wp_die() or die(); 否则你将被重定向,你将看不到你的 var_dump();

  • 0

    我能够解决我的问题 . 事实证明,在保存post metas之后,save_post似乎确实运行了 . 我的问题实际上来自我的代码中的其他内容,我可以通过更改我处理脚本的这一部分来修复 .

相关问题