[img]https: //i.stack.imgur.com/aSw9C.png[/img]
Я создал этот пост 2 дня назад, но контент в этом посте добавляется с помощью короткого кода примерно каждые 10 минут, 20 минут ... Теперь я хочу обновить дату и время этого сообщения в зависимости от того, когда последний контент (статья публикации добавлена с помощью короткого кода) в этом случае, например, 10 минут назад.
У меня есть несколько сообщений этого типа. , где я собираюсь добавить контент разных категорий и все сообщения с помощью разных коротких кодов, я хочу обновить дату и время всех этих сообщений в соответствии с их содержимым DOM, динамически меняющимся или обновляемым с помощью короткого кода. поэтому мне нужен универсальный код или способ добиться этого на всем моем веб-сайте WordPress.
Однако, чтобы получить это для одного сообщения, я попытался с помощью этого php-кода добавить функцию моей темы .php, но всё равно не работает.
Код: Выделить всё
function update_post_date_from_shortcode($post_id) {
if (wp_is_post_autosave($post_id) || wp_is_post_revision($post_id)) {
return;
}
// Check if the post contains the specific shortcode
$post_content = get_post_field('post_content', $post_id);
if (strpos($post_content, '**[my_shortcode]**') !== false) {
// Update the post date to the current time
wp_update_post(array(
'ID' => $post_id,
'post_date' => current_time('mysql', true),
'post_date_gmt' => current_time('mysql', true),
));
}
}
Код: Выделить всё
function update_post_date_on_shortcode($atts) {
global $post;
$post->post_date = date('Y-m-d H:i:s');
$post->post_date_gmt = get_gmt_from_date($post->post_date);
wp_update_post($post);
}
add_shortcode("[my_shortcode]", 'update_post_date_on_shortcode');
Подробнее здесь: https://stackoverflow.com/questions/783 ... -by-shortc