Настройки отображения даты…

Использую следующий тег:

<?php the_date('d-m-Y'); ?>

Выводит: 01-01-2011.
А мне нужно: 01 january, 2011. Причём, месяц должен быть с маленькой буквы, заключён в теги <span></span> (чтобы для него можно было задать стиль, отличный от даты и года) и после него должна стоять запятая.
Искал по форуму и кодексу, так и не нашёл…(((

Подскажите, пожалуйста!

Обычно дата и время уже заданы в шаблонах. Соответственно, вывод даты и времени задается и оформляется в них в соответствии с классами стилей шаблона.

В этой связи рекомендую изучить те шаблоны, где вывод даты оформлен в том виде, какой вам подходит, а потом взять готовое решение из кода этих шаблонов.

В качестве примера:

код

 <p class="date"><?php the_time('j F, Y') ?>  |   <?php the_time( $d ); ?>  </p>

обеспечивает вывод даты в следующем виде:

27 Декабрь, 2010 | 15:00

Соответствующий стиль – class="date" должен быть прописан в файле style.css

В этой связи рекомендую изучить те шаблоны, где вывод даты оформлен в том виде, какой вам подходит, а потом взять готовое решение из кода этих шаблонов.

Устал уже искать шаблоны, где вывод даты подходит мне. Пока не нашёл.
В приведённом вами примере, из того, что нужно мне, есть только запятая после месяца. А нужно ещё, чтобы месяц был с маленькой буквы и был помещён в теги <span></span>.
Насчёт маленькой буквы, я пробовал вместо <?php the_time(‘j F, Y’) ?> написать <?php the_time(‘j f, Y’) ?>, но это не работает. Посему вопрос, каким символом обозначается месяц с маленькой первой буквой?
Теперь, что касается тегов <span></span>. Пробовал написать <?php the_time(‘j <span>F</span>, Y’) ?>, тоже не работает. Как это сделать по-другому?

Посему вопрос, каким символом обозначается месяц с маленькой первой буквой?

Никаким. Название месяца в английском языке всегда пишется с большой буквы.
Матчасть: http://ua.php.net/manual/en/function.date.php

Никаким. Название месяца в английском языке всегда пишется с большой буквы.

Ладно, хрен с ней, с буквой.
Что насчёт второго вопроса?

А, и ещё, чуть не забыл. WordPress русский и контент русский, но дата (месяц), нужно чтобы отображалась на английском.

Устал уже искать шаблоны, где вывод даты подходит мне. Пока не нашёл.

И много шаблонов просмотрели?

У меня, например, в архиве более пяти сотен шаблонов, которые по той или иной причине меня чем-то заинтересовали, но я по-прежнему ищу новые и оригинальные … и так уже пятый год. На усталость не жалуюсь, так как для меня это хобби и WordPress мне нравится. Убежден, что в интернете найти можно почти все. Правда, при условии того, что искомое не противоречит логике и основам программирования. Ю.Б. в своем пожелании вам по части изучения матчасти стопроцентно прав!

В приведённом вами примере, из того, что нужно мне, есть только запятая после месяца.

Простите. Не угодил. Но я честно предупредил, что привожу только пример.

А нужно ещё, чтобы месяц был с маленькой буквы и был помещён в теги <span></span>.
Насчёт маленькой буквы, я пробовал вместо <?php the_time('j F, Y') ?> написать <?php the_time('j f, Y') ?>, но это не работает. Посему вопрос, каким символом обозначается месяц с маленькой первой буквой?
Теперь, что касается тегов <span></span>. Пробовал написать <?php the_time('j <span>F</span>, Y') ?>, тоже не работает. Как это сделать по-другому?

Изучать основы. Больше пользоваться поиском. И больше изучать готовых примеров, которых в WordPress масса. А примеры показывают, что в WordPress принято размеры и цвет шрифта задавать в виде соответствующих классов стилей офомления и прописывать в файле style.css, а не тащить все непосредственно в каждый файл шаблона.

Сколько файлов style.css вы успели уже изучить?

В заключение еще один пример из еще одного шаблона:

<div class="small">
<?php the_time("l, j F Y @ g:i a") ?>
</div>

в итоге выводится:

Суббота, 20 ноября 2010 @ 2:00 пп

В файле style.css есть запись (тоже только в качестве примера!):

.small {
 font-size: 0.9em;
 }

.small a {
 color: #003399;
 }

.small a:hover {
 color: #104070;
 }

В общем, изучайте основы, изучайте то, что создают другие, и вы быстро научитесь самостоятельно решать свои проблемы. К слову, я – не программист, поэтому не всегда могу дать готовые решения, касающиеся написания кода, поэтому чаще подсказываю только направление, в котором стоит требуемое решение искать. Успеха!

Ладно, хрен с ней, с буквой.

Замечу, что это моветон, ибо на форуме принято выражаться вежливо.

А, и ещё, чуть не забыл. WordPress русский и контент русский, но дата (месяц), нужно чтобы отображалась на английском.

Вы уж разберитесь, что вам нужно – английский или русский, ибо локализованный на русский язык WordPress дату тоже выводит на русском языке, а английский на английском. Но если вам все-таки нужен английский месяц в русском WordPress, тогда замените файл locale.php в папке wp-includes файлом locale.php из английской версии, но тогда боюсь, что проблему с большой буквой вы не решите никогда, ибо в английском языке с большими буквами строго. Плюс вы должны будете заменять этот файл при каждом очередном обновлении движка.

Ю.Б. в своем пожелании вам по части изучения матчасти стопроцентно прав!

Уже записался на середину января на курсы PHP!)))

Сколько файлов style.css вы успели уже изучить?

Тысячи! В том-то и дело, что я верстальщик со стажем 5 лет. CSS знаю практически на зубок (практически, потому что совершенствоваться можно до бесконечности). Не хватает знаний только по PHP.
Привожу конкретный пример для наглядности, чтобы не было недомолвок.
loop.php:

<div class="date"><?php the_date('j F, Y') ?></div>

Генерит:

<div class="date">29 Декабрь, 2010</div>

CSS задаёт свойства для <div class="date">, соответственно "29 Декабрь, 2010" форматируется одинаково. Чтобы выделить месяц, например, красным цветом, его нужно заключить в теги <span></span>:

<div class="date">29 <span>Декабрь</span>, 2010</div>

и в CSS прописать:

.date span {
  font-color:red;
}

Так вот вопрос был в том, как надо построить запись <?php the_date(‘j F, Y’) ?>, чтобы при выводе, вокруг месяца были теги <span></span>?

Замечу, что это моветон, ибо на форуме принято выражаться вежливо.

За это прошу прощения!

Так вот вопрос был в том, как надо построить запись <?php the_date('j F, Y') ?>, чтобы при выводе, вокруг месяца были теги <span></span>?

В два шага.
1. пишем как хочется
<?php the_date(‘j <span>F<span> Y’) ?>

2. экранируем символы, которые нужно вывести, а не интерпретировать
<?php the_date(‘j <\sp\a\n>F</\sp\a\n> Y’); ?>

C php-шной date() это работает.

php > print strtolower(date('j <\sp\a\n>F</\sp\a\n> Y'));
29 <span>december</span> 2010

С wp – пробуйте.

Когда возникнет вопрос "как получить значение, а не вывести его", ищите ответ в Function Reference/the date « WordPress Codex

Спасибо, попробую!

Кстати, можете попробовать такую конструкцию
<?php echo strtolower(mysql2date(‘j <\sp\a\n>F</\sp\a\n> Y’, $post->post_date, false)); ?>
Никаких гарантий, разумеется.

Да, спасибо! Первый вариант отлично работает!
А второй, вообще выше всяких похвал! Не знаю почему (надеюсь, после курсов буду знать), но второй вариант делает всё, о чём я как раз и просил. И <span> подставляет, и первую букву маленькой делает, и даже по-английски пишет месяц.

Спасибо большое!

Кстати, вот вы дали ссылку на мануал… А есть что-нибудь подобное на русском?

А, ну если я не ошибаюсь, дата берётся из базы данных. А раз на базу не распространяются действия locale.php, то дата выводится на английском. Единственно не понятно, как получился с маленькой буквы месяц? Вы же говорите, что в английском всегда с большой буквы пишется.

В тех статьях Кодекса, для которых уже сделан перевод, есть ссылки на переводы. Кодекс большой, а переводить особо некому: кто понимает по-английски, те и так читают, а кто не понимает, те перевести не могут. Замкнутый круг.

Третий параметр у вордпрессовской функции mysql2date() указывает, надо ли использовать локализацию. По умолчанию true – да. А я написал false. Вот оно и вывело по-английски.

Функция strtolower (стандартная php-шная) переводит строку в нижний регистр. Поскольку в строке нет русских букв, то использование функции вполне безопасно.

Понятно!

А насчёт мануала, я имел ввиду не кодекс, а ту ссылку на матчасть (http://ua.php.net/manual/en/function.date.php), которую вы дали выше. Допустим, есть htmlbook.ru на русском, для желающих изучить html. А вот, что-нибудь такое же по PHP, что б прямо от азов и до …, но на русском?

А, понятно. С php ситуация забавная. По непонятным причинам русский перевод был признан еретическим и уволен с офф.сайта. Тем не менее, более-менее полные переводы мануала php существуют и в виде сайтов (например http://php.su), и формате chm (иногда удобней)

Ага, спасибо!

Anonymous
Отправить
Ответ на: