保存POST时不调用SAVE_POST挂接

时间:2017-04-12 作者:Parth Goswami

在WordPress中,每当创建新的博客帖子时,所有帖子的详细信息都需要发送到第三方API。我正在使用save_post 钩住这个,但不确定它是否被调用这是我迄今为止所做的

  add_action( \'save_post\', \'new_blog_details_send\');
  function new_blog_details_send( $post_id ) {
     
  //getting blog post details//
        $blog_title = get_the_title( $post_id );
        $blog_link = get_permalink( $post_id ); 
        $blog_text = get_post_field(\'post_content\', $post_id);
        
        ///Sending data to portal////
        $post_url = \'http://example.com/blog_update\';
        $body = array(
                \'blog_title\' => $blog_title,
                \'blog_link\' => $blog_link,
                \'blog_text\' => $blog_text
        );
         
        //error_log($body);
    
        $request = new WP_Http();
        $response = $request->post( $post_url, array( \'body\' => $body ) );

    }
不确定如何在WordPress中记录或调试。任何帮助都将不胜感激。提前谢谢。

2 个回复
SO网友:Stender

重定向前调试save函数的一种快速方法是

die(print_r($post_id)); // or var_dump($post_id);
这将阻止所有PHP继续运行,并且对于不需要完整日志的小型调试来说速度很快。

将其放入函数中,看看其中发生了什么-更改变量,看看是否得到了预期的结果。

编辑-----------

我的意思是:

add_action( \'save_post\', \'new_blog_details_send\', 10, 1);
function new_blog_details_send( $post_id ) {
    
    wp_die(print_r($post_id)); //just another way of stopping - for wordpress

    ///Getting blog post details///
    $blog_title = get_the_title( $post_id );
    $blog_link = get_permalink( $post_id ); 
    $blog_text = get_post_field(\'post_content\', $post_id);

    ///Sending data to portal////
    $post_url = \'http://example.com/blog_update\';
    $body = array(
            \'blog_title\' => $blog_title,
            \'blog_link\' => $blog_link,
            \'blog_text\' => $blog_text
    );

    //error_log($body);

    $request = new WP_Http();
    $response = $request->post( $post_url, array( \'body\' => $body ) );

}
如果在输入后它仍在正常运行,则不会调用该函数。

SO网友:Aniruddha Gawade

尝试将优先级和参数计数添加到add_action 作用

当我在使用参数时没有指定参数时,我有时会遇到同样的问题,即钩子没有运行。

add_action( \'save_post\', \'new_blog_details_send\', 10, 1);
其中10是优先级,1是函数的“可接受参数”

相关推荐

是否可以取消对特定帖子类型的POSTS_PER_PAGE限制?

我想知道我是否可以取消特定帖子类型的posts\\u per\\u页面限制。在存档中。php页面我显示不同的帖子类型,对于特定的“出版物”帖子类型,我想显示所有帖子。我如何在不影响传统“post”类型的情况下实现这一点?