# Получение Времени Публикации Поста в WordPress
Функция get_post_timestamp()
в WordPress позволяет извлекать время публикации или изменения поста в формате Unix timestamp. Unix timestamp — это количество секунд, прошедших с 1 января 1970 года.
### Важно знать
Эта функция возвращает настоящий Unix timestamp, а не учитывает разницу во времени, как это делали старые функции WordPress.
### Возвращаемые значения
Функция возвращает целое число (int) с временной меткой Unix в случае успеха или false
в случае ошибки.
### Как использовать
```php
get_post_timestamp( $post, $field );
- $post (int|WP_Post): ID поста или объект поста. По умолчанию используется глобальный объект
$post
. - $field (string): время публикации или изменения, которое будет извлечено из базы данных. Принимает значения 'date' (для времени публикации) или 'modified' (для времени изменения). По умолчанию используется 'date'.
Примеры
Пример 1: Сравнение различных вариантов получения времени поста
$post = get_post( 31 );
$patt = "%s - %s - %sn";
$mysql_format = 'Y-m-d H:i:s';
echo sprintf( $patt, strtotime( $post->post_date ), $post->post_date, 'date' );
echo sprintf( $patt, strtotime( $post->post_date_gmt ), $post->post_date_gmt, 'date_gmt' );
echo sprintf( $patt, strtotime( $post->post_modified ), $post->post_modified, 'modified' );
echo sprintf( $patt, strtotime( $post->post_modified_gmt ), $post->post_modified_gmt, 'modified_gmt' );
echo "nnget_post_timestamp()nn";
$unix_time = get_post_timestamp( $post );
$unix_modified = get_post_timestamp( $post, 'modified' );
echo sprintf( $patt, $unix_time, date( $mysql_format, $unix_time ), 'date' );
echo sprintf( $patt, $unix_modified, date( $mysql_format, $unix_modified ), 'modified' );
Вывод:
1271013315 - 2010-04-11 19:15:15 - date
1270998915 - 2010-04-11 15:15:15 - date_gmt
1629940365 - 2021-08-26 01:12:45 - modified
1629922365 - 2021-08-25 20:12:45 - modified_gmt
get_post_timestamp()
1270995315 - 2010-04-11 14:15:15 - date
1629922365 - 2021-08-25 20:12:45 - modified
Пример 2: Использование ID поста
$post_id = 31;
$time = get_post_timestamp( $post_id ); // результат: int(1270995315)
$time = get_post_timestamp( $post_id, 'modified' ); // результат: int(1629922365)
// Также можно передать объект поста:
$post = get_post( $post_id );
$time = get_post_timestamp( $post ); // результат: int(1270995315)
$time = get_post_timestamp( $post, 'modified' ); // результат: int(1629922365)
Как работает функция
Вот как выглядит код функции get_post_timestamp()
:
function get_post_timestamp( $post = null, $field = 'date' ) {
$datetime = get_post_datetime( $post, $field );
if ( false === $datetime ) {
return false;
}
return $datetime->getTimestamp();
}
Связанные функции
- comment_date() — Возвращает дату комментария
- current_time() — Возвращает текущее время по вашему временному поясу
- get_post_time() — Получает время публикации поста
- wp_timezone() — Возвращает временную зону WordPress
Эти функции помогут вам работать с датами и временем в WordPress более эффективно.