web-dev-qa-db-ja.com

WordPress 4.4では、comment_postフックを使って投稿IDを取得する方法

WordPress 4.4以降、comment_postアクションにフックするときにget_the_ID()またはthe_ID()を使用することはもはや不可能であるように見えます。

新しいコメントが保存されたときにpost_idを取得するにはどうすればいいですか?

2
Dudo1985

3番目のパラメータ$commentdataは、コメントが投稿された投稿のIDを取得するために使用できます。

function wpse211367_comment( $comment_ID, $comment_approved, $commentdata ) {
    // The id for the post that the comment is related to is available
    // in the $commentdata array:
    $comment_post_id = $commentdata['comment_post_ID'];
}
add_action( 'comment_post', 'wpse211367_comment', 10, 3 );

$commentdata配列

Array
(
    [comment_post_ID] => 149
    [comment_author] => dave
    [comment_author_email] => [email protected]
    [comment_author_url] => 
    [comment_content] => All work and no play makes Dave a dull boy.
    [comment_type] => 
    [comment_parent] => 0
    [user_ID] => 1
    [user_id] => 1
    [comment_author_IP] => ::1
    [comment_agent] => Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
    [comment_date] => 2016-09-23 03:13:40
    [comment_date_gmt] => 2016-09-23 03:13:40
    [filtered] => 1
    [comment_approved] => 1
)
3
Dave Romsey