Файл loop.php — для чего он нужен в WordPress и как им пользоваться

Сайт OnWordpress.ru продается

Оптимальная цена 300 000 рублей

Подробнее

Файл loop.php может быть очень полезным при разработке сайта на WordPress. В этот файл обычно записывается Вордпресс цикл, который содержит в себе фрагмент кода, повторяющийся в каждой записи цикла. Чтобы более точно узнать что такое цикл, следует обратиться к кодексу WordPress:

Цикл используется в WordPress для отображения каждой записи. Используя Цикл, WordPress обрабатывает каждую из этих записей для вывода на текущей странице и форматирует ее в соответствии с указанными критериями внутри Цикла. Любой HTML или PHP код, раположенный внутри Цикла, будет повторен для каждой записи.

Как использовать файл loop.php

Для того, чтобы разобраться как работает файл loop.php следует посмотреть на его стандартный (упрощенный для понимания) код:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); // Цикл начинается. Если есть записи в цикле, то выводим их ?>

    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2><!-- Выводим заголовок записи -->

        <div class="entry-content">
            <?php the_excerpt(); // Выводим анонс записи ?>
        </div>

    </div>

<?php endwhile; else: // Если записей нет, то выводим сообщение об этом ?>
<p><?php echo 'Извините, записей нет'; ?></p>
<?php endif; // Цикл заканчивается ?>

Вот такое содержимое в файле loop.php выведет заголовки и анонсы всех записей, которые существуют, или выведет соответствующее сообщение, если записей нет. Данный пример самый простой и его можно модернизировать практически как угодно, в зависимости от того, что нужно получить.

Но после того, как этот файл будет создан, его нужно подключить в нужный шаблон (например, в шаблоне index.php) следующим образом:

<?php get_header(); ?>

        <div id="container">
            <div id="content" role="main">

            <?php get_template_part( 'loop' ); // Подключаем файл loop.php ?>
            </div><!-- #content -->
        </div><!-- #container -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

После этого, на главной странице WordPress блога появятся заголовки и анонсы записей.

Для чего нужен loop.php

Содержимое цикла можно записать напрямую в файл index.php и все будет работать точно так же. Но в случае с loop.php гораздо удобнее работать с кодом + код визуально получается чище и понятнее.

Также мы можем создать несколько файлов loop.php с различным содержимым (например, только заголовки записей) и подключать нужный файл в нужном шаблоне. Это понадобится, к примеру, в том случае, если на странице рубрик нужно вывести только заголовки записей без анонса.

Для этого следует создать файл loop-category.php со следующим содержимым:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); // Цикл начинается. Если есть записи в цикле, то выводим их ?>

    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2><!-- Выводим заголовок записи -->
    </div>

<?php endwhile; else: // Если записей нет, то выводим сообщение об этом ?>
<p><?php echo 'Извините, записей нет'; ?></p>
<?php endif; // Цикл заканчивается ?>

И подключить этот файл в шаблоне category.php:

<?php get_header(); ?>

        <div id="container">
            <div id="content" role="main">

            <?php get_template_part( 'loop', 'category' ); // Подключаем файл loop.php ?>
            </div><!-- #content -->
        </div><!-- #container -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Также, можно использовать несколько разных циклов на одной странице. Для этого потребуется создать дополнительный цикл на $wp_query() и использовать для него дополнительный файл loop.php.

Вариантов использования WordPress цикла и файла loop.php великое множество. Как вы будете это использовать, зависит тот вашей фантазии.

Расскажите друзьям
Нравится блог? - Читайте ВКонтакте
Ответим на Ваши вопросы в комментариях