Добавление «последней из блога» на главную страницу

У меня большая проблема и не знаю, как ее решить 🙂 Я хочу добавить «модуль» на мою домашнюю страницу (статическая страница, а не сообщения в блоге), которая будет отображать 2 последних сообщения в блоге очень определенным образом и ссылаться на их. Сообщения будут отображаться только на главной странице, а не на каждой другой странице, но шаблон php, используемый для этой страницы, будет совместно использоваться всеми настраиваемыми страницами.

Вот краткое описание этого

Фотография бумажного эскиза

Сайт, который делает это красиво на своей домашней странице, – SEOmoz (но мне не нужна такая большая функциональность, только заголовок блога, большой палец, выдержка и ссылка, чтобы прочитать больше)

Скриншот от seomoz.org

Есть ли простой способ сделать это? (плагины, код, который вы можете скопировать / вставить из любого места?) или я могу заплатить кому-то, чтобы написать это для меня?

Solutions Collecting From Web of "Добавление «последней из блога» на главную страницу"

Лично мне нравится использовать get_posts() ( Codex ref ) для быстрых и грязных циклов.

В front-page.php шаблона front-page.php попробуйте выполнить следующее:

 <?php // Create a variable to hold our custom Loop results $frontpageposts = get_posts( array( 'numberposts' => 2 // only the 2 latest posts ) ); // Create output only if we have results // Customize to suit your HTML markup if ( $frontpageposts ) { foreach ( $frontpageposts as $fppost ) { // setup postdata, so we can use template tags setup_postdata($fppost); ?> <div <?php post_class(); ?>> <h2><a href="<php the_permalink(); ?>"><?php the_title(); ?></a></h2> <div class="post-entry"> <?php the_post_thumbnail(); ?> <?php the_excerpt(); ?> </div> </div> <?php } } ?> 

Опять же, вам нужно будет изменить разметку HTML в соответствии с вашими потребностями.

Еще более простой способ сделать это – сделать файл page-x.php в своей теме. X – это идентификатор страницы, которую вы собираетесь использовать в качестве домашней страницы. Предполагается, что у вас есть FTP-доступ, который вы должны с тех пор, как сможете создавать файлы. Например, страница-2.php будет шаблоном, используемым для страницы образца WordPress по умолчанию. Но вы не можете просто использовать if (has_posts ()), так как вы находитесь на странице, и это приведет к тому, что содержимое страниц будет включено.

Было бы лучше использовать WP_Query.

 $news = new WP_Query( array( 'category_name'=>'news', 'posts_per_page' => 2 ) ); if ($news->have_posts()) while ($news->have_posts()) : the_post(); ?> 

Затем продолжайте цикл. Дайте мне знать, если вам нужно больше деталей. Где я

 'category_name' => 'news' 

'news' следует изменить на SLUG вашей категории.

Хороший почерк 🙂

Это можно просто сделать, проверяя, является ли текущая страница домашней, и извлекая две последние записи в блоге.

  <?php if ( is_home() ) { query_posts("posts_per_page=2"); } // run the Loop if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <?php endwhile; ?> <?php endif; ?> 

Это покажет заголовки блога, связанные с сообщениями блога. Вставьте любую другую функцию, которая будет извлекать необходимую информацию (например, the_excerpt ()).

Вы можете добавить параметры в свой запрос, чтобы сделать его более точным, например, получать сообщения только из определенной категории.