Support » Plugin: Extra Shortcodes » Filter months in functions.php

  • Resolved Bloomhash

    (@bloomhash)


    Tell me, please, how to make replacement in your widget result.
    I need to fix months names:

    function true_russian_date_forms($the_date = '') {
    	if ( substr_count($the_date , '---') > 0 ) {
    		return str_replace('---', '', $the_date);
    	}
    	$replacements = array(
    		"Январь" => "января",
    		"Февраль" => "февраля",
    		"Март" => "марта",
    		"Апрель" => "апреля",
    		"Май" => "мая",
    		"Июнь" => "июня",
    		"Июль" => "июля",
    		"Август" => "августа",
    		"Сентябрь" => "сентября",
    		"Октябрь" => "октября",
    		"Ноябрь" => "ноября",
    		"Декабрь" => "декабря"
    	);
    	return strtr($the_date, $replacements);
    }
    
    add_filter('the_time', 'true_russian_date_forms');
    add_filter('get_the_time', 'true_russian_date_forms');
    add_filter('the_date', 'true_russian_date_forms');
    add_filter('get_the_date', 'true_russian_date_forms');
    add_filter('the_modified_time', 'true_russian_date_forms');
    add_filter('get_the_modified_date', 'true_russian_date_forms');
    add_filter('get_post_time', 'true_russian_date_forms');
    add_filter('get_comment_date', 'true_russian_date_forms');

    what filter can be added to hook your plugin data?

    https://wordpress.org/plugins/extra-shortcodes/

Viewing 1 replies (of 1 total)
  • this is solvation (thanx to http://wp-kama.ru):

    add_filter('date_i18n', 'russify_months', 11, 2 );
    
    /**
     * Русифицирует месяца и недели в дате.
     * Функция для фильтра date_i18n.
     * @param строка $date       Дата в принятом формате
     * @param строка $req_format Формат передаваемой даты
     * @return Дату   в русском формате
     */
    function russify_months( $date, $req_format ){
    	// в формате есть "строковые" неделя или месяц
    	if( ! preg_match('/[FMlS]/', $req_format ) )
    		return $date;
    
    	$replace = array (
    		'Январь'=>'января', 'Февраль'=>'февраля', 'Март'=>'марта', 'Апрель'=>'апреля', 'Май'=>'мая', 'Июнь'=>'июня', 'Июль'=>'июля', 'Август'=>'августа', 'Сентябрь'=>'сентября', 'Октябрь'=>'октября', 'Ноябрь'=>'ноября', 'Декабрь'=>'декабря',
    
    		'Янв'=>'янв.', 'Фев'=>'фев.', 'Мар'=>'март', 'Апр'=>'апр.', 'Май'=>'май', 'Июн'=>'июнь', 'Июл'=>'июль', 'Авг'=>'авг.', 'Сен'=>'сен.', 'Окт'=>'окт.', 'Ноя'=>'ноя.', 'Дек'=>'дек.',
    
    		'January'=>'января', 'February'=>'февраля', 'March'=>'марта', 'April'=>'апреля', 'May'=>'мая', 'June'=>'июня', 'July'=>'июля', 'August'=>'августа', 'September'=>'сентября', 'October'=>'октября', 'November'=>'ноября', 'December'=>'декабря', 
    
    		'Jan'=>'янв.', 'Feb'=>'фев.', 'Mar'=>'март.', 'Apr'=>'апр.', 'May'=>'мая', 'Jun'=>'июня', 'Jul'=>'июля', 'Aug'=>'авг.', 'Sep'=>'сен.', 'Oct'=>'окт.', 'Nov'=>'нояб.', 'Dec'=>'дек.',    
    
    		'Sunday'=>'воскресенье', 'Monday'=>'понедельник', 'Tuesday'=>'вторник', 'Wednesday'=>'среда', 'Thursday'=>'четверг', 'Friday'=>'пятница', 'Saturday'=>'суббота',
    
    		'Sun'=>'вос.', 'Mon'=>'пон.', 'Tue'=>'вт.', 'Wed'=>'ср.', 'Thu'=>'чет.', 'Fri'=>'пят.', 'Sat'=>'суб.', 'th'=>'', 'st'=>'', 'nd'=>'', 'rd'=>'',
    	);
    	$date = strtr( $date, $replace );
    
    	//if( function_exists('mb_strtolower') ) $date = mb_strtolower( $date );
    
    	return $date;
    }
Viewing 1 replies (of 1 total)
  • The topic ‘Filter months in functions.php’ is closed to new replies.