На сайте WP я пытаюсь настроить страницу событий. Я установил пользовательский тип записи и определил метабокс с помощью плагина metabox.io. Метабокс содержит указатель даты с идентификатором «date_1». Сейчас я пытаюсь найти способ отображения списка сообщений с указанием даты и названия события. Название работает просто отлично, но у меня возникают проблемы с отображением даты.
Строка
$events .= '<a href="'. get_permalink() .'">' . get_post_meta(get_the_ID(), 'date_1', true) . " - " . get_the_title() .'</a>';
возвращает заголовок, но не дату. Если я обертываю строку get_post_meta в print_r, она возвращает 1.
. Я также экспериментировал с:
$events .= '<a href="'. get_permalink() .'">' . get_post_meta($post->ID, $field['date_1'], TRUE ). " - " . get_the_title() .'</a>';
, но вместо «1» возвращается «массив».
Полный код
if ( ! function_exists('events_shortcode') ) {
function events_shortcode() {
$args = array(
'post_type' => 'kalender',
'post_status' => 'publish',
'order' => 'ASC',
'posts_per_page' => 10,
);
$postslist = new WP_Query( $args );
global $post;
if ( $postslist->have_posts() ) :
$events .= '<div class="events-lists">';
while ( $postslist->have_posts() ) : $postslist->the_post();
$events .= '<div class="items">';
$events .= '<a href="'. get_permalink() .'">' . get_post_meta(get_the_ID(), 'date_1', true) . " - " . get_the_title() .'</a>';
$events .= '</div>';
endwhile;
wp_reset_postdata();
$events .= '</div>';
endif;
return $events;
}
add_shortcode( 'events', 'events_shortcode' );
}