bosworth
  • 0
Новичок

Статические выдержки с главной страницы

  • 0

Работая над новым сайтом, я пытаюсь поместить выдержки из недавних постов на статической главной странице. Я делал весь свой статический контент за пределами WordPress (в виде статических файлов), но был убежден, что нужно, так сказать, перетащить все в складку WP.

В моем внешнем статическом файле, который служил моей домашней страницей, я понял, как включить заголовок блога, <?php require('../wordpress/wp-blog-header.php'); ?> а затем вызвать сообщения на этой странице, и это сработало как шарм:

<?php 
                        $count = 0; 
                    ?>
                    <?php if ( have_posts() ) while ( have_posts() && $count <= 6 ) : the_post(); ?>
                            <section class="post">
                                <header class="post">
                                    <h2><a class="light" href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                                        <?php twentyten_posted_on(); ?>
                                    <div class="hr"></div>
                                </header>
                                <article class="post">
                                    <?php the_excerpt(); ?>
                                </article>
                                <footer class="post">
                                    <?php twentyten_posted_in(); ?>
                                </footer>
                            </section>
                    <?php $count++; ?>
                    <?php endwhile; // end of the loop. ?>

Итак, теперь я настроил шаблон главной страницы WordPress, и он доставляется динамически, используя заголовок моей темы и тот же фрагмент цикла, я получаю не сообщения, а страницы назад. Вместо того, чтобы видеть набор текущих сообщений, я получаю некоторую информацию о заголовке для 3 страниц wp, которые в настоящее время находятся на моем сайте. Я понимаю, что это связано с переменными запроса URL, но я не совсем понимаю, как это обойти.

Я попытался вручную вызвать a new WP-Query();, но это ничего не дало. Хотя я подозреваю, что это может сработать, учитывая правильные аргументы…

Любые мысли о том, как вывести последние сообщения вместо списка страниц на статическую главную страницу с помощью этого модифицированного цикла?

Очень признателен —

Share
  1. Есть ли какая-то особая причина не использовать front-page.php файл шаблона и просто не пытаться вытащить заголовки WordPress во внешние файлы?

    Использовать front-page.php файл шаблона очень просто:

    1. Создайте новую статическую страницу с любым произвольным именем (назовем ее «Главная страница»)
    2. Перейдите Dashboard -> Settings -> Reading и установите «Отображение главной страницы» на «Статическая страница».
    3. Установите в раскрывающемся списке «Главная страница» статическую страницу «Главная страница», которую вы создали на шаге 1.
    4. Создайте новый файл шаблона для своей темы, назовите front-page.php его и включите в него свой пользовательский код Loop, как указано выше.

    Кроме того, вы должны правильно отфильтровать основной запрос цикла как вывод на front-page.php, а не использовать && $count <= 6 условное выражение в своем вызове цикла.

    Я бы рекомендовал использовать простой вызов get_posts() и установить numberposts аргумент равным 6 .

    • 0
    • Извините — я думаю, что был не совсем ясен (обратите внимание на мое обновление) — сейчас я использую шаблон главной страницы, но цикл, который я опубликовал, возвращает страницы вместо сообщений… Это моя ситуация в настоящее время, и точка, которую я хочу прояснить. +1 к аргументу numberposts. Я пропустил это.

      • 0
  2. А-а, понял — был почти готов с новым WP_Query, но не смог вызвать для него метод запроса… Это работает отлично:

    <?php 
                                $excerptQuery = new WP_Query();
                                $excerptQuery->query('showposts=6');
                            ?>
                            <?php if ( $excerptQuery->have_posts() ) while ( $excerptQuery->have_posts()) : $excerptQuery->the_post(); ?>
                                    <section class="post">
                                        <header class="post">
                                            <h2><a class="light" href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                                                <?php twentyten_posted_on(); ?>
                                            <div class="hr"></div>
                                        </header>
                                        <article class="post">
                                            <?php the_excerpt(); ?>
                                        </article>
                                        <footer class="post">
                                            <?php twentyten_posted_in(); ?>
                                        </footer>
                                    </section>
                            <?php endwhile; // end of the loop. ?>
    
    • 0

Оставить ответ

You must login to add an answer.