サイトマップ上のLast Modified Date
が常に最新になるように、新しいコメントごとに投稿を更新したいと思います。
これどうやってするの?
ありがとう。
私が理解していることから、コメントがあなたの投稿に残っている時はいつでもあなたは投稿の修正時間を変えたいと思います。このためには、wp_insert_comment
フックにフックして投稿の日付を手動で更新する必要があります。
add_action('wp_insert_comment','update_post_time',99,2);
function update_post_time($comment_id, $comment_object) {
// Get the post's ID
$post_id = $comment_object->comment_post_ID;
// Double check for post's ID, since this value is mandatory in wp_update_post()
if ($post_id) {
// Get the current time
$time = current_time('mysql');
// Form an array of data to be updated
$post_data = array(
'ID' => $post_id,
'post_modified' => $time,
'post_modified_gmt' => get_gmt_from_date( $time )
);
// Update the post
wp_update_post( $post_data );
}
}
これはコメントが作成されるたびに投稿のためのリビジョンを作成することに注意してください。
サイトマッププラグインがpost_date
の代わりにpost_modified
を使用している場合は、代わりにこれを使用できます。
$post_data = array(
'ID' => $post_id,
'post_date' => $time,
'post_date_gmt' => get_gmt_from_date( $time )
);
しかし、これは問題を引き起こし、アーカイブやホームページでの投稿の順序を乱すかもしれません、なぜならそれは投稿の 作成 日付を変更し、変更日ではないからです。
テーマによっては、メインページの投稿の順序が変わる場合があります。
最近のコメントでページへのリンクを表示する方法があります。
しかし、あなたはあなたのテーマ(あなたがテーマコードを変更したくないので子テーマ、うまくいけば)にコメント保存のフックを使うコードを追加させる必要があるでしょう。たとえば、次のリンクに記載されているように、wp_insert_comment()
フックを使用できます。 https://codex.wordpress.org/Plugin_API/Action_Reference/wp_insert_comment
あなたが物事が起こりたいときに応じて、コメント保存中に使用できる他のフックがあります。