Получение сообщения автора и даты в WordPress

Я использую приведенный ниже код для получения информации о публикации в WordPress. Я нашел этот код в Интернете и добавил две переменные «дата» и «автор». Однако в настоящее время они работают не так, как требуется / ожидается.

Для «date» возвращается полная дата / время (т.е. 2017-03-08 15:12:39), а не красиво отформатированная дата, полученная при использовании get_the_date (); (т.е. 8 марта 2017 г.). Можно ли настроить разметку для форматирования даты?

Для «автора» вообще ничего не возвращается?

Заранее спасибо.

$postData = get_posts($postParameters);
$posts = array();

foreach($postData as $post) {
$post = array(
"id"       => $post->ID,
"title"    => $post->post_title,
"excerpt"  => $post->post_excerpt,
"date"     => $post->post_date,
"author"   => $post->post_author,
"slug"     => $post->slug,
"image"    => array("url" => get_the_post_thumbnail_url($post->ID)),
"link"     => get_permalink($post->ID),
"category" => get_the_category($post->ID)[0]->name
);

array_push($posts, $post);
}

0

Решение

Это потому, что вы извлекаете объект, после получения данных вам нужно отформатировать их так, как вам нужно. Например:

Это позволит получить объект с информацией о записи:

<?php $postData = get_posts($postParameters);?>

Теперь от объекта вы получили дату как:

[post_date] => 2016-09-20 15:42:55

Таким образом, чтобы показать это как хорошую дату, вам нужно отформатировать это так:

<?php echo '<p>'.get_the_date( 'F, j Y', $postData[0]->ID ).'</p>'; ?>

И с Author, объект возвращает идентификатор автора, который является числом:

[post_author] => 1

Теперь с помощью следующего кода вы можете показать отображаемое имя автора:

<?php echo '<p>'.the_author_meta( 'display_name', $postData[0]->post_author ).'</p>'; ?>

Я надеюсь, что это может помочь вам!
Наслаждайтесь!

1

Другие решения

Других решений пока нет …