[РЕШЕНО 100% + 2 Варианта] Поправить пост без изменения даты последнего обновления (Last edited)
на сайте 2 сортировки, по дате публикации и по обновлениям постов.
Иногда нужно поравить косяки и орфографию в постах, из-за этого пост попадает в список обновлений.
Подскажите: хочу добавить произвольное поле с галочкой , без сохранения данных из этого поля ( инструкция у КАМА есть, просто добавлю новый параметр чтоб код его не захватывал),
- какой код добавить чтоб он сообщал посту, что дату редактирования не нужно обновлять ??
- как выставить очередность и срабатывание фильтра при чекбоксе??
Сохранять чек бокс не нужно, так как действие на один раз.
// добавляем меню в BOX
add_action( 'post_submitbox_misc_actions', 'not_update_data_mod' );
function not_update_data_mod($post)
{
// $value = get_post_meta($post->ID, '_publish_in_frontpage', true);
echo '<div class="misc-pub-section misc-pub-section-last"><style></style>
<span id="timestamp">'
. '<label style="display: none;" ><input type="hidden" ' . 'value="" name="extra_1000[my_checkbox]" />Force update data</label>'
. '<label ><input type="checkbox"' . 'value="1" name="extra_1000[my_checkbox]" />Force update data</label>'
.'</span></div>';
}
// добавляем проверку чекбокса
add_filter('wp_insert_post_data','reset_post_date_wpse_121565',99,2);
function reset_post_date_wpse_121565($data,$postarr) {
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $data; // пропустим если это автосохранение
if ( ! current_user_can('edit_post', $postarr['ID'] ) ) return $data; // убедимся что пользователь может редактировать запись
$_POST['extra_1000'] = array_map( 'sanitize_text_field', $_POST['extra_1000'] ); // чистим все данные от пробелов по краям
foreach( $_POST['extra_1000'] as $key => $value ){
if( $value == 1 ){
$data['post_modified'] = $data['post_date'];
$data['post_modified_gmt'] = $data['post_date_gmt'];
}
}
return $data;
}
Вариант 2 - выбор между
/ Стандарт - то есть обновить по текущему времени /
/ Дата обновления = Последней дате обновления /
/ Дата обновления = Дате Создания /
Насчёт чекбокса в метабоксе можно подглядеть тут https://wp-kama.ru/question/plagin-dlya-isklyucheniya-posta-iz-vyvoda-na-glavnoj-stranitsy
Я уже нашел код и сделал в описании. Только что проверил тот что по ссылке: они оба крепятся к post_submitbox_misc_actions.
осталось дело за малым, добавить менюшку по типу как у КАМА или как на скрине. Как на скрине ещё не знаю как сделать, буду искать