• Решено kaizer

    (@kaizercomru)


    Всем привет!
    Есть такая проблема — ставишь, например, в полях профиля поле дата рождения тип Дата, и в профиле отображается November 15, 1990, хотя в настройках дата стоит d.m.Y . Не знаю как быть…

    Вот наглядный пример http://www.socsetka.ru/members/kaizer

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Никак не быть. Это независимые друг от друга параметры.

    Что, вообще никак не исправить ? а если в код залазить ? это глюк самого BP я так понимаю ?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Можно добавить подобный фрагмент в functions.php темы или bp-custom.php:

    function apply_date_format($date) {
    	if ( false === strpos($date, ':') )
    		$date = date( get_option('date_format'), strtotime($date) );
    	return $date;
    }
    add_filter('bp_format_time', 'apply_date_format');

    огромное спасибо! проблема решена!

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Исправлено в BuddyPress 1.3: http://trac.buddypress.org/changeset/3454

    Заметил такую проблему:
    1 января 1970 года не вводится — ошибка вылазит.
    И все даты до 1.01.1970 тупо превращаются в сегодняшнюю

    1 января 1970 года — это начало unix-эпохи.
    Я проверил — у меня нормально сохраняет даты до этой. В базе хранится как секунды, даты до юникс-эпохи — со знаком минус.
    Почему у вас такая трабла — сказать не могу.

    В базу записывается отрицательное число — Да,
    а как нибудь можно сделать чтобы даты до 1.1.1970 проставлялись ?

    Это странно, но на чистом WP+BP (на этом же хостинге) все даты нормально встают. Блин, в чём же может быть проблема тут ?

    Ха-ха!!! Это глюк приведённого выше кода! Без него всё отображается отлично!
    Не один глюк так другой… Жаль…

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Исправил фрагмент.

    Возможно, он понадобится даже после выхода BuddyPress 1.3, поскольку там используется функция date_i18n() из WordPress, и это именно она возвращает текущее число для всех дат до 01.01.1970 (предполагаю, что для совместимости с PHP < 5.1.0).

    Огромное спасибо! ДА, так обидно когда проблема всего в одном слове, а ещё обиднее — когда в символе 🙂
    Проблема решена! Тема закрыта!

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Тема «Поле профиля Дата» закрыта для новых ответов.