Помощник
|
Вывести php три месяца и год в worpdress |
koninana
|
Сообщение
#1
|
||
|
|
||
|
|||
Karlasan |
6.11.2016, 21:01;
Ответить: Karlasan
Сообщение
#2
|
|
Код <?php
setlocale(LC_ALL, 'ru_RU.UTF-8'); print strftime("%B",strtotime("-1 month")).", ".strftime("%B").", ".strftime("%B",strtotime("+1 month")).", ".date("Y"); ?> Сообщение отредактировал Karlasan - 6.11.2016, 21:02 |
|
|
koninana
|
Сообщение
#3
|
|
Karlasan, Спасибо огромное! Работает
Еще момент подскажите... Как реализовать более удобную вставку непосредственно в сам пост\страницу? (Было бы чудесно что-либо шорт кода — взял и вставил на ряд страниц, внутрь, прямо по тексту. Еще неплохо было бы иметь возможность подставлять в тайтл\дескрипшн) Сориентируйте пожалуйста, в какую сторону мыслить, как реализовать практичнее, удобнее, корректнее. |
|
|
Karlasan |
6.11.2016, 21:35;
Ответить: Karlasan
Сообщение
#4
|
|
koninana,
в конец файла functions.php вашей темы (находится в папке /wp-content/themes/имя_темы) добавьте код Код function superdata( $atts ){ setlocale(LC_ALL, 'ru_RU.UTF-8'); return strftime("%B",strtotime("-1 month")).", ".strftime("%B").", ".strftime("%B",strtotime("+1 month")).", ".date("Y"); } add_shortcode( 'superdata', 'superdata' ); затем в тексте вставлем [superdata] и будет вам счастье. в тайтлы и метатеги посложнее чуток. ищем в коде шаблона файлик, отвечающий за вывод метатегов (обычно это header.php, но из него могут и другие файлы подгружаться), и вставляем нужный код в нужное место. вот, например, так: Код <title><?php bloginfo('name'); ?><?php wp_title(); ?><?php setlocale(LC_ALL, 'ru_RU.UTF-8'); print strftime("%B",strtotime("-1 month")).", ".strftime("%B").", ".strftime("%B",strtotime("+1 month")).", ".date("Y"); ?></title> этот код выведет что-то вроде "Имя блога Название записи Октябрь, Ноябрь, Декабрь, 2016" имейте в виду, что разные сео-плагины могут перезаписать значения тайтлов и метатегов. можно, конечно, через функционал вп всё это сделать, но мне лень думать, как в большинстве случаев приведенный код будет работать и без этого. |
|
|
koninana
|
Сообщение
#5
|
|
Karlasan, прям выручаете, спасаете, спасибо, все работает!
имейте в виду, что разные сео-плагины могут перезаписать значения тайтлов и метатегов. можно, конечно, через функционал вп всё это сделать, но мне лень думать, как в большинстве случаев приведенный код будет работать и без этого. Тут верно все предвидели. Использую Yoast SEO, так, что тайтлы не взлетят так. Есть возможность через него сделать как-то нужный тайтл, дескрипшн по формуле? В его родных переменных только дату поста\записи вставить можно только. Или может подскажете, где покопать инфо о том, как средствами ВП это реализовать? |
|
|
Karlasan |
7.11.2016, 11:51;
Ответить: Karlasan
Сообщение
#6
|
|
koninana,
без ковыряния в коде плагина, видимо, никак. ну и при обновлении плагина все правки слетят. так что можно вот так, дешево и сердито, перехватив буфер вывода: Код function buffer_callback($buffer) { setlocale(LC_ALL, 'ru_RU.UTF-8'); $buffer=str_replace("[superdata]", strftime("%B", strtotime("-1 month")).", ".strftime("%B").", ".strftime("%B", strtotime("+1 month")).", ".date("Y"), $buffer); return $buffer; } function buffer_start() { ob_start("buffer_callback"); } function buffer_end() { ob_end_flush(); } add_action( 'template_redirect', 'buffer_start'); add_action('wp_footer', 'buffer_end'); поместите его также в functions.php. этот код заменяет шорткод [superdata] во всей странице, где бы он ни находился. если какой-то плагин (да тот же yoast) уже использует буфер вывода - этот код также может не заработать Сообщение отредактировал Karlasan - 7.11.2016, 11:51 |
|
|
koninana
|
Сообщение
#7
|
|
Karlasan, Почему на другом хостинге выводятся названия месяцев на английском? Мы же четко setlocale задали. Все равно по буржуйски выводится (
|
|
|
mmkulikov |
23.12.2016, 16:33;
Ответить: mmkulikov
Сообщение
#8
|
|
Мы же четко setlocale задали. Это скорее пожелание чем задание. Есть у сервера локаль - выведет, нету - выведет дефолтной локалью... -------------------- VPS от 5€ |
|
|
koninana
|
Сообщение
#9
|
|
mmkulikov, Есть возможность все таки как-то по-русски названия месяцев вывести в таки условиях ?
|
|
|
mmkulikov |
24.12.2016, 17:05;
Ответить: mmkulikov
Сообщение
#10
|
|
Есть возможность все таки как-то по-русски названия месяцев вывести в таки условиях Если надо "жестко" на русском - откажитесь от strftime и сделайте свою функцию вывода названия месяца... Банально определите массив с именами месяцев и выводите по индексу(номеру месяца) -------------------- VPS от 5€ |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Как вывести деньги в Украине с заблокированного Юмани ? | 29 | freeax | 4817 | 17.4.2024, 1:19 автор: sergio11 |
|
СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое | 5 | CULA | 3402 | 19.12.2023, 18:55 автор: CULA |
|
Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery Разработка сайтов и сервисов под-ключ |
0 | alexey | 1242 | 24.11.2023, 14:46 автор: alexey |
|
Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP) | 56 | qpPeW | 44910 | 19.7.2023, 10:03 автор: qpPeW |
|
Есть спецы по php/laravel? | 3 | Mixatraider | 1889 | 26.5.2023, 20:48 автор: Mixatraider |
Текстовая версия | Сейчас: 20.4.2024, 9:23 |