• Цикл WordPress

    Готовые решенияКомментариев нет

    Эта запись создана специально для разработчика вордпресс, с целью быстро скопировать и вставить стандартный цикл вордпресс. Поэтому тут не будет никакого материала и дополнительной информации, просто примеры кода.

    Стандартный цикл wordpress (для разработчика)

    <?php
    
    // задаем нужные нам критерии выборки данных из БД
    $args = array(
    	'posts_per_page' => 5,
    	'orderby' => 'comment_count'
    );
    
    $query = new WP_Query( $args );
    <?php
    
    
    // Цикл
    if ( $query->have_posts() ) {
    	while ( $query->have_posts() ) {
    		$query->the_post();
    		echo '<li>' . get_the_title() . '</li>';
    	}
    } else {
    	// Постов не найдено
    }
    /* Возвращаем оригинальные данные поста. Сбрасываем $post. */
    wp_reset_postdata();
    
    ?>

    Список параметров для цикла можно посмотреть тут:

    1. http://wp-kama.ru/function/wp_query
    2. https://codex.wordpress.org/Class_Reference/WP_Query

    Стандартный цикл wordpress для обычных страниц

    <?php if( have_posts() ){ while( have_posts() ){ the_post(); ?>
    
    	<div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
    		<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
    		<?php the_content(); ?>
    	</div>
    
    	<?php } /* конец while */ ?>
    
    	<div class="navigation">
    		<div class="next-posts"><?php next_posts_link(); ?></div>
    		<div class="prev-posts"><?php previous_posts_link(); ?></div>
    	</div>
    
    <?php
    } // конец if
    else {
    	echo "<h2>Записей нет.</h2>";
    }
    ?>

    Цикл на основе query_posts()

    <?php
    global $query_string; // параметры базового запроса
    query_posts( $query_string.'&cat=-6,-9&order=ASC&posts_per_page=20'); // базовый запрос + свои параметры 
    
    [стандартный цикл вордпресс, который указан выше]
    
    wp_reset_query(); // сброс запроса
    ?>

    Альтернативный вариант записи запроса для цикла

    <?php
    $query = new WP_Query('cat=9&nopaging=1'); // указываем категорию 9 и выключаем разбиение на страницы (пагинацию)
    if( $query->have_posts() ){
    	while( $query->have_posts() ){ $query->the_post();
    	?>
    		<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
    		<?php the_content(); ?>
    	<?php
    	}
    	wp_reset_postdata(); // сбрасываем переменную $post
    } 
    else echo 'Записей нет.';
    ?>

    Цикл на основе get_posts()

    <?php
    global $post; // не обязательно
    $args = array('category' => 9); // 5 записей из рубрики 9
    $myposts = get_posts( $args );
    foreach( $myposts as $post ){ setup_postdata($post);
    	// стандартный вывод записей
    }
    wp_reset_postdata(); // сбрасываем переменную $post
    ?>

     


    Будь первым кто прокомментирует статью.

    Добавить комментарий

    Войти с помощью: