使用Gutenberg发布时,TRANSPORT_POST_STATUS挂钩没有任何POST数据

时间:2019-02-21 作者:Gnanasekaran Loganathan

Describe the bug

在transition\\u post\\u status上放置挂钩时,我可以看到它已启动,但没有可用的post数据,要获取该post数据,我必须使用save\\u post挂钩,这很不方便,因为我没有获取$new\\u status和$old\\u status信息。

To Reproduce

<挂接到transition\\u post\\u状态。类似于函数中的以下代码。php将完成以下工作:
add_action( \'transition_post_status\', \'log_data\', 10, 3 );

    function log_data( $new_status, $old_status, $post ) {
        error_log(json_encode($_POST));
    }
创建新的古腾堡帖子并发布

https://github.com/WordPress/gutenberg/issues/12897

1 个回复
SO网友:Krzysiek Dróżdż

但你不应该使用$_POST 在那个钩子里。

transition_post_status 当帖子从一种状态转换为另一种状态时激发。

它可能是由任何原因引起的(不仅仅是通过从编辑器发送POST请求)。

例如,以下是负责发布未来帖子的功能:check_and_publish_future_post. 它只由cron调用,根本不发送任何POST数据。。。

transition_post_status 挂钩有3个参数:

$new_status (字符串)新职位状态。

$old_status (字符串)旧post状态。

$post (WP\\U Post)Post对象。

您应该在操作中主要使用这些值-您可以确定它们将被传递并且是正确的。

你不能对POST请求的内容做任何假设。。。