2015-12-31 2 views
0

Я использую этот фрагмент кода, чтобы добавить недавно обновлен рядом с датой пост, если это обновление:Wordpress - сохранить оригинальную дату сообщение в блоге, но добавить второй, последнее обновление Дата

add_filter('the_title' , 'add_update_status'); 
function add_update_status($html) { 
    //First checks if we are in the loop and we are not displaying a page 
    if (! in_the_loop() || is_page()) 
     return $html; 


//Instantiates the different date objects 
$created = new DateTime(get_the_date('Y-m-d g:i:s')); 
$updated = new DateTime(get_the_modified_date('Y-m-d g:i:s')); 
$current = new DateTime(date('Y-m-d g:i:s')); 

//Creates the date_diff objects from dates 
$created_to_updated = date_diff($created , $updated); 
$updated_to_today = date_diff($updated, $current); 

//Checks if the post has been updated since its creation 
$has_been_updated = ($created_to_updated -> s > 0 || $created_to_updated -> i > 0) ? true : false; 

//Checks if the last update is less than n days old. (replace n by your own value) 
$has_recent_update = ($has_been_updated && $updated_to_today -> days < 7) ? true : false; 

//Adds HTML after the title 
$recent_update = $has_recent_update ? '<span class="label label-warning">Recently updated</span>' : ''; 


    //Returns the modified title 
    return $html.'&nbsp;'.$recent_update; 
} 

Я хочу, чтобы мой пост, чтобы показать следующее : Опубликовано 8 октября 2012 года в 9:07 утра, Обновлено 6 ноября 2013 года в 11:03

Как мы можем достичь этого?

ответ

0

Используйте эти крючки действий WordPress, когда новое сообщение создается и обновляется. при создании нового сообщения, используйте крючок вставки и при обновлении сообщения используйте save hook из WordPress.

Создать пост meta, в котором хранится время создания сообщения и опубликовано обновление, как показано ниже.

// когда новый пост добавлены или обновлены

add_action('save_post', 'my_save_post'); 
function my_save_post($post_id){ 

    if(empty(get_post_meta($post_id, 'created_on', true))) { 
     update_post_meta($post_id, 'created_on', date('Y-m-d h:i:s'));  
    } 

    update_post_meta($post_id, 'updated_on', date('Y-m-d h:i:s')); 

} 

Теперь, когда вы должны показать это созданные и обновляемые время разделилась на вашу тему, использовать эти функции, как показано ниже:

Чтобы показать создана время

get_post_meta($post_id, 'created_on', true); 

Чтобы показать обновленное время

get_post_meta($post_id, 'updated_on', true); 
+0

Вы уверены в коде выше? Произошла ошибка – sam

+0

Да, я уверен. Какую ошибку вы получаете? –

+0

Когда я скопировал приведенный выше код в разделе «// при добавлении нового сообщения», весь веб-сайт опустился. – sam

0

Вы можете просто добавить это к вашему сообщению шаблона:

Published on <?php echo get_the_date('F j, Y'); ?> at <?php the_time('g:i a'); ?>, Last modified on <?php the_modified_date('F j, Y'); ?> at <?php the_modified_date('g:i a'); ?>

 Смежные вопросы

  • Нет связанных вопросов^_^