Как сделать дату последнего изменения (post_modified) в WordPress равной дате публикации (post_date)?

Привет! <br/> <br/> Я нашел кусок кода в Интернете, который должен устанавливать дату модификации поста равной его дате. Но у меня возникли проблемы с его работой. Что может быть не так? <br/> <br/> Вот сам код:
  • 17 марта 2024 г. 15:49
Ответы на вопрос 2
```php
function set_post_modified_date_equal_to_post_date( $data, $postarr ) {
    if ( $data['post_type'] == 'post' ) {
        $data['post_modified'] = $data['post_date'];
    }
    return $data;
}
add_filter( 'wp_insert_post_data', 'set_post_modified_date_equal_to_post_date', 10, 2 );
```

Этот код должен быть добавлен в файл functions.php вашей темы WordPress или в файл плагина. Он использует хук `wp_insert_post_data`, чтобы изменить дату модификации поста и сделать ее равной дате публикации.

Если у вас возникают проблемы с работой этого кода, важно убедиться, что он корректно добавлен в файл functions.php или используется через плагин. Также стоит проверить, что нет конфликтов с другими плагинами или темами, которые могут переопределять эту функциональность.

Если проблема все равно остается, возможно потребуется более детальное исследование причин. В таком случае, рекомендуется обратиться к специалистам по WordPress для помощи в решении проблемы.
Чтобы при создании или редактировании записи дата изменения устанавливалась из даты создания можно использовать этот код в файле functions.php вашей темы, он просто обновляет аттрибуты записи: 

function update_modified_date_to_post_date($post_id) {
	// Получаем дату создания записи
	$creation_date = get_the_date('Y-m-d H:i:s', $post_id);

	// Обновляем дату изменения записи
	$update_args = array(
		'ID' => $post_id,
		'post_modified' => $creation_date,
		'post_modified_gmt' => get_gmt_from_date($creation_date),
	);

	if ( ! wp_is_post_revision( $post_id ) ){
		// удаляем этот хук, чтобы он не создавал бесконечного цикла
		remove_action('save_post', 'update_modified_date_to_post_date');

		// обновляем пост, когда снова вызовется хук save_post
		wp_update_post($update_args);

		// снова вешаем хук
		add_action('save_post', 'update_modified_date_to_post_date');
	}
	
}
add_action('save_post', 'update_modified_date_to_post_date');
Похожие вопросы