• Друзья, привет!

    Такая задачка есть. На ряде страниц сайта нужно вывести строку текста, которая бы обновлялась сама.
    А именно:
    %название предыдущего месяца%, %название текущего месяца%, %название следующего месяца%, %текущий год%

    То есть на сегодняшний месяц результатом вывода должно быть:
    Октябрь, Ноябрь, Декабрь, 2016

    Товарищи программисты, выручайте 🙂

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • 
    <?php 
    
    echo date('F', mktime(0, 0, 0, date('m')-1, 1, date('Y'))) . 
    ', ' . date('F', mktime(0, 0, 0, date('m'), 1, date('Y')))  . 
    ', ' . date('F', mktime(0, 0, 0, date('m')+1, 1, date('Y')))  . 
    ', ' . date('Y');
    
    ?>
    

    О боже, просто чудесно 🙂
    Благодарю за ответ, да еще и оперативный 🙂

    Можно еще понаглею?)
    — Как вывести эти начения на русском? В настройках ВП стоит рус. язык, но названия месяцев вывело на английском.
    — Как реализовать более удобную вставку непосредственно в сам пост\страницу? (Было бы чудесно что-либо шорт кода — взял и вставил на ряд страниц, внутрь, прямо по тексту.) Сориентируйте пожалуйста, в какую сторону мыслить, как реализовать практичнее, удобнее, корректнее.

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    — Как вывести эти начения на русском?

    <?php
    setlocale(LC_ALL, 'ru_RU.UTF-8');
    echo strftime('%B', strtotime("-1 month"));
    echo strftime('%B', strtotime("now"));
    echo strftime('%B', strtotime("+1 month"));
    echo strftime('%Y', strtotime("now"));
    ?>

    — Как реализовать более удобную вставку непосредственно в сам пост\страницу? (Было бы чудесно что-либо шорт кода — взял и вставил на ряд страниц, внутрь, прямо по тексту.)

    Как удобнее, так и делайте. Если нужен шорткод, будет как-то так:

    
    function foobar_func( $atts ){
        ob_start();
        setlocale(LC_ALL, 'ru_RU.UTF-8');
        echo strftime('%B', strtotime("-1 month"));
        echo strftime('%B', strtotime("now"));
        echo strftime('%B', strtotime("+1 month"));
        echo strftime('%Y', strtotime("now"));
        return ob_get_clean();
    }
    add_shortcode( 'foobar', 'foobar_func' );
    

    Также, можете попробовать создать шорткод с помощью какого-нибудь плагина, например, Add Shortcodes Actions And Filters (Обзор работы).

    • Ответ изменён 9 лет, 5 месяцев назад пользователем Denis Yanchevskiy.
Просмотр 3 ответов — с 1 по 3 (всего 3)

Тема «Вывести три месяца и год на страницах» закрыта для новых ответов.