Я использую приведенный ниже код для получения информации о публикации в 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);
}
Это потому, что вы извлекаете объект, после получения данных вам нужно отформатировать их так, как вам нужно. Например:
Это позволит получить объект с информацией о записи:
<?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>'; ?>
Я надеюсь, что это может помочь вам!
Наслаждайтесь!
Других решений пока нет …