无法获取与评论相关的帖子ID

时间:2019-07-29 作者:Mark71

我在评论表单中添加了自定义复选框。我正在尝试在数据库中写入此评论的帖子ID。但没有成功。我正在尝试这样的事情:

add_action( \'comment_post\', \'save_chbox_in_db\' );

function save_chbox_in_db() {
     $post_id = ??? // Can\'t get id...
     insert_to_db ( $email, $post_id ); // custom function
}
我测试了这些选项:

global $post;
$post_id = $post->ID();

global $wp_query;
$post_id = $wp_query->post->ID;

$post_id = get_queried_object_id();

$post_id = get_the_ID();
结果,我得不到任何东西。问题出在哪里?有“comment\\u post”操作吗?还是我犯了一些愚蠢的错误?

1 个回复
最合适的回答,由SO网友:nmr 整理而成

comment_post 钩子传递到附加函数3个参数。的第四个参数add_action() 指示附加函数可以访问的参数数量。

add_action( \'comment_post\', \'save_chbox_in_db\', 10, 3 );

function save_chbox_in_db( $comment_ID, $comment_approved, $commentdata )
{
     $post_id = (int)$commentdata[\'comment_post_ID\'];
     //
     // other code
     //
}