Отображение последних сообщений на странице

Я пытаюсь создать цикл для отображения заголовка и выдержки из каждого сообщения в блоге на странице, которая не является моей индексной страницей. Промежуточный демо-сайт находится здесь: http://thewestharbour.com/mypakage/

На странице новостей мне нужно отобразить последние 3 сообщения в блоге. Простое изменение настроек не будет работать, и каждый цикл, который я попробовал, также не работает. Я также попытался создать отдельный шаблон и назначить его на страницу новостей, но не повезло.

Благодарю, Уэйд

Вы можете изменить свой шаблон сообщения (обычно index.php, но зависит от вашей темы):

  1. проверьте, должен ли текущий запрос отвечать на эти сообщения
  2. добавьте сегмент, который будет запрашивать базу данных для получения сообщений, которые вы хотите
  3. эхо название должности и выдержки, как вы хотите

Следующий код будет запрашивать базу данных и возвращать строку с 5 последними сообщениями с выдержками. Обратите внимание на $before , $after , $before_excerpt , $after_excerpt , это просто обертки для контента, чтобы он выглядел лучше, вы можете отправить все это как параметр функции, но для простоты я жестко закодирован эти.

 function get_posts() { global $wpdb; $post_count = 5; $before = '<h3>'; // this will be rendered before the post content $after = '<br />'; // this will be rendered after the post content $before_excerpt = '</h3><p>'; // this will be rendered before the post excerpt $after_excerpt = '</p>'; // this will be rendered after the post excerpt $request = " select ID, post_date, post_title, post_excerpt from $wpdb->posts p inner join $wpdb->term_relationships r on r.object_id = p.ID inner join $wpdb->terms t on t.term_id = r.term_taxonomy_id where post_status = 'publish' AND post_password = '' AND post_type = 'post' GROUP BY ID, post_date, post_title, post_excerpt ORDER BY post_date DESC LIMIT 0, $post_count "; $posts = $wpdb->get_results($request); $output = ''; if ($posts) { foreach ($posts as $post) { $post_title = $post->post_title; $permalink = get_permalink($post->ID); $output .= $before; $output .= '<a href="' . esc_url($permalink) . '" rel="bookmark" title="Permanent Link: ' . esc_attr($post_title) . '">' . esc_html($post_title) . '</a>'; $post_excerpt = esc_html($post->post_excerpt); $output .= $before_excerpt . $post_excerpt . $after_excerpt; $output .= $after; } } return $output; }