Как добавить фильтр в функцию Buddypress, чтобы изменить время сохранения с GMT на местноеPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как добавить фильтр в функцию Buddypress, чтобы изменить время сохранения с GMT на местное

Сообщение Anonymous »

Я использую Buddypress вместе с WordPress. Дата/дата-время всегда сохраняются в базе данных в формате GMT/UTC без какого-либо смещения. Это приводит к просчетам при сравнении с NOW() и неправильным выводом, поскольку эта дата отображается в интерфейсе без изменений.
Вот почему я хочу, чтобы местное время сохранялось и отображалось для часовой пояс Европы (смещение на 2 часа). Не уверен, ошибка это или нет.
В любом случае, когда я устанавливаю для $gmt значение false в основной функции Buddypress ниже, местное время сохраняется и все работает. Но это не лучший способ изменить ядро. Итак, как я могу добавить фильтр к этой функции и установить для $gmt значение FALSE?

Код: Выделить всё

/**
* Get the current GMT time to save into the DB.
*
* @since 1.2.6
*
* @param bool   $gmt  True to use GMT (rather than local) time. Default: true.
* @param string $type See the 'type' parameter in {@link current_time()}.
*                     Default: 'mysql'.
* @return string Current time in 'Y-m-d h:i:s' format.
*/
function bp_core_current_time( $gmt = **true**, $type = 'mysql' ) { // set gmt to false here works

/**
* Filters the current GMT time to save into the DB.
*
* @since 1.2.6
*
* @param string $value Current GMT time.
*/
return apply_filters( 'bp_core_current_time', current_time( $type, $gmt ) );
}
Мои попытки:

Код: Выделить всё

add_filter('bp_core_current_time','current_time2');
function current_time2 () {
return current_time($type='mysql',$gmt=false);
}

Это приводит к ошибке «Неперехваченная ошибка типа: date(): Аргумент №2 ($timestamp) должен иметь тип?int, задана строка...»

Код: Выделить всё

add_filter('bp_core_current_time','current_time2');
function current_time2 ($gmt) {
return $gmt=false;
}
И это не работает, возвращает метку времени и сохраняет 0000-00-00 00:00:00 в базе данных.

Подробнее здесь: https://stackoverflow.com/questions/791 ... saved-from
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»