Pár napja kezdtem bele a bővítményfejlesztésbe és gondoltam megosztom az első összeszenvedett bővítményemet, ami inkább csak showcase jellegű. Annyit tud, hogy minden bejegyzés végére beszúrja egy új sorba, hogy mennyi idővel ezelőtt lett utoljára szerkesztve az adott bejegyzés.
Alapvetően a WP saját php függvényeit használom benne, illetve az oldal nyelvétől függetlenül megadom magyar nyelven a kiírandó szövegeket újrahasznosítva az eredeti WP human_time_diff függvényét.
Hátha érdekes lehet valakinek maga a kód:
<?php
/**
* Plugin Name: PLA Post Last Updated - human readable format (Hungarian)
* Plugin URI: http://p2501.hu/
* Description: This plugin adds at the end of each post the last updated time in human readable format localized for Hungarian language.
* Version: 1.0
* Author: Arpad Sabo
* Author URI: http://p2501.hu/
*/
/*Add at the end of each post, after the content*/
add_action( 'the_content', 'pla_post_last_updated' );
/*Localized version of time formats (Hungarian) apperars before '... ago'*/
function human_time_diff_hungarian( $from, $to = '' ) {
if ( empty( $to ) ) {
$to = time();
}
$diff = (int) abs( $to - $from );
if ( $diff < HOUR_IN_SECONDS ) {
$mins = round( $diff / MINUTE_IN_SECONDS );
if ( $mins <= 1 )
$mins = 1;
/* translators: min=minute */
$since = sprintf( _n( '%s perccel', '%s perccel', $mins ), $mins );
} elseif ( $diff < DAY_IN_SECONDS && $diff >= HOUR_IN_SECONDS ) {
$hours = round( $diff / HOUR_IN_SECONDS );
if ( $hours <= 1 )
$hours = 1;
$since = sprintf( _n( '%s órával', '%s órával', $hours ), $hours );
} elseif ( $diff < WEEK_IN_SECONDS && $diff >= DAY_IN_SECONDS ) {
$days = round( $diff / DAY_IN_SECONDS );
if ( $days <= 1 )
$days = 1;
$since = sprintf( _n( '%s nappal', '%s nappal', $days ), $days );
} elseif ( $diff < MONTH_IN_SECONDS && $diff >= WEEK_IN_SECONDS ) {
$weeks = round( $diff / WEEK_IN_SECONDS );
if ( $weeks <= 1 )
$weeks = 1;
$since = sprintf( _n( '%s héttel', '%s héttel', $weeks ), $weeks );
} elseif ( $diff < YEAR_IN_SECONDS && $diff >= MONTH_IN_SECONDS ) {
$months = round( $diff / MONTH_IN_SECONDS );
if ( $months <= 1 )
$months = 1;
$since = sprintf( _n( '%s hónappal', '%s hónappal', $months ), $months );
} elseif ( $diff >= YEAR_IN_SECONDS ) {
$years = round( $diff / YEAR_IN_SECONDS );
if ( $years <= 1 )
$years = 1;
$since = sprintf( _n( '%s évvel', '%s évvel', $years ), $years );
}
return apply_filters( 'human_time_diff_hungarian', $since, $diff, $from, $to );
}
function pla_post_last_updated ( $content ) {
/*Last updated text*/
$pla_post_last_updated_text = 'Utoljára frissítve ekkor: ';
/*Ago text*/
$pla_ago_text = ' ezelőtt.';
/*Put together the phrase and add to the end fot the content*/
return $content .=
'<br>'.' '.
$pla_post_last_updated_text.' '.'<b>'.human_time_diff_hungarian( get_the_modified_time('U'), current_time('timestamp') ) .'</b>'.$pla_ago_text;
}
?>