Нужна постраничная навигация. Сейчас почитаю. Спасибо за ссылку.
Все равно что-то не выходит. Сейчас выводит ссылку на рубрику:
<?php /* Template Name: vidyi-otdyiha */ ?> <?php get_header(); ?> <div class="content section-inner"> <?php $pc = new WP_Query(array('cat' => 8, 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => -1, 'post_status' => 'publish' ) ); $thiscount = get_category(8); echo $thiscount->count; ?> <?php if (have_posts()) : ?> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $total_post_count = wp_count_posts(); $published_post_count = $total_post_count->publish; $total_pages = ceil( $published_post_count / $posts_per_page ); if ( "1" < $paged ) : ?> <div class="page-title"> <h4><?php printf( __('Page %s of %s', 'hitchcock'), $paged, $wp_query->max_num_pages ); ?></h4> </div> <!-- /page-title --> <div class="clear"></div> <?php endif; ?> <div class="posts" id="posts"> <?php while (have_posts()) : the_post(); ?> <?php get_template_part( 'content', get_post_format() ); ?> <?php endwhile; ?> <div class="clear"></div> </div> <!-- /posts --> <?php endif; ?> <div class="clear"></div> <?php hitchcock_archive_navigation(); ?> <?php wp_reset_query() ?> </div> <!-- /content --> <?php get_footer(); ?>
Ошибка 500 возникает при таком коде
Не работает, вот такой код php вставил:
<div class="posts" id="posts"> <?php $pc = new WP_Query(array('cat' => 8, 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => -1, 'post_status' => 'publish' ) ); echo prefix_get_count_posts(8) ; ?> <?php if (have_posts()) : ?> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $total_post_count = wp_count_posts(); $published_post_count = $total_post_count->publish; $total_pages = ceil( $published_post_count / $posts_per_page ); if ( "1" < $paged ) : ?> <div class="page-title"> <h4><?php printf( __('Page %s of %s', 'hitchcock'), $paged, $wp_query->max_num_pages ); ?></h4> </div> <!-- /page-title --> <div class="clear"></div> <?php endif; ?> <?php while ($pc->have_posts()) : $pc->the_post(); ?> <?php get_template_part( 'content', get_post_format() ); ?> <?php endwhile; ?> <div class="clear"></div> </div> <!-- /posts --> <div class="clear"></div> <?php wp_reset_query() ?> </div> <!-- /content -->
Добавить сюда:
<?php $pc = new WP_Query(array( 'cat' => 8, 'orderby' => 'title', 'order' => 'ASC' ) ); ?>
p.s. простите за наглость, только изучаю php---------- Добавлено 30.01.2016 в 14:26 ----------Вставил:
<?php $pc = new WP_Query(array('cat' => 8, 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => -1, 'post_status' => 'publish' ) ); ?>
Теперь выводят все посты на одной странице
$pc->found_posts;
Не получается, все равно видит только первые 9 записей.
Добрый день! Раньше для вывода записей из определенной рубрики использовал "query_posts". Потом мне подсказали, что эта команда будет вызывать дополнительную нагрузку на сайт и предложили использовать "WP_Query", что я и сделал. Но теперь сайт не видит общее количество записей в рубрики из-за чего показывается только первая страница рубрики. Вот сам код:
<?php $query = new WP_Query( array( 'cat' => 8, 'paged' => get_query_var('paged'), 'orderby' => 'title', 'order' => 'ASC' ) ); ?> <div class="content section-inner"> <?php if (have_posts()) : ?> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $total_post_count = wp_count_posts(); $published_post_count = $total_post_count->publish; $total_pages = ceil( $published_post_count / $posts_per_page ); if ( "1" < $paged ) : ?> <div class="page-title"> <h4><?php printf( __('Page %s of %s', 'hitchcock'), $paged, $wp_query->max_num_pages ); ?></h4> </div> <!-- /page-title --> <div class="clear"></div> <?php endif; ?> <div class="posts" id="posts"> <?php while ( $query->have_posts() ) : $query->the_post(); ?> <?php get_template_part( 'content', get_post_format() ); ?> <?php endwhile; ?> <div class="clear"></div> </div> <!-- /posts --> <?php endif; ?> <?php wp_reset_query() ?> <div class="clear"></div> <?php hitchcock_archive_navigation(); ?>
Где я сделал ошибку в коде?
Вот код из function.php отвечающий за вывод количества страниц:
// Hitchcock archive navigation function function hitchcock_archive_navigation() { global $wp_query; if ( $wp_query->max_num_pages > 1 ) : ?> <div class="archive-nav"> <?php if ( get_previous_posts_link() ) { previous_posts_link( '<span class="fa fw fa-angle-left"></span>' ); } else { echo '<span class="fa fw fa-angle-left"></span>'; } ?> <span class="sep">/</span> <?php if ( get_next_posts_link() ) { next_posts_link( '<span class="fa fw fa-angle-right"></span>' ); } else { echo '<span class="fa fw fa-angle-right"></span>'; } ?> <div class="clear"></div> </div> <!-- /archive-nav-->
Я сменил в цикле "query_posts" на "WP_query". Я правильно все сделал? На сайте почти все работает, кроме навигации. Показывает только первых 9 записей.
p.s. php учу потихоньку
<?php /*Template Name: stranyi*/?><?php get_header(); ?><?php $query = new WP_Query( array( 'cat' => 8, 'paged' => get_query_var('paged'), 'orderby' => 'title', 'order' => 'ASC' ) ); ?> <div class="content section-inner"> <?php if (have_posts()) : ?> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $total_post_count = wp_count_posts(); $published_post_count = $total_post_count->publish; $total_pages = ceil( $published_post_count / $posts_per_page ); if ( "1" < $paged ) : ?> <div class="page-title"> <h4><?php printf( __('Page %s of %s', 'hitchcock'), $paged, $wp_query->max_num_pages ); ?></h4> </div> <!-- /page-title --> <div class="clear"></div> <?php endif; ?> <div class="posts" id="posts"> <?php while ( $query->have_posts() ) : $query->the_post(); ?> <?php get_template_part( 'content', get_post_format() ); ?> <?php endwhile; ?> <div class="clear"></div> </div> <!-- /posts --> <?php endif; ?><?php wp_reset_query() ?> <div class="clear"></div> <?php hitchcock_archive_navigation(); ?><br><br><p style="text-align: center;"><span style="color: #ffffff;"><strong>ПУТЕВОДИТЕЛЬ ПО СТРАНАМ:</strong></span></p><br><?php $query = new WP_Query( array( 'cat' => 8, 'paged' => get_query_var('paged'), 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => -1 ) ); ?> <?php while ( $query->have_posts() ) : $query->the_post(); ?><a href="<?php the_permalink()?>" style="color:#fff"><?php the_title();?>,</a> <?php endwhile; ?><?php wp_reset_query() ?><br><br> </div> <!-- /content --> <?php get_footer(); ?>
Я просто взял оригинальный php с файла index.php и добавил туда по совету одного из пользователя этого форума команду для определения рубрики из которой надо выводить записи. Вот оригинальный index.php:
<?php get_header(); ?> <div class="content section-inner"> <?php if (have_posts()) : ?> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $total_post_count = wp_count_posts(); $published_post_count = $total_post_count->publish; $total_pages = ceil( $published_post_count / $posts_per_page ); if ( "1" < $paged ) : ?> <div class="page-title"> <h4><?php printf( __('Page %s of %s', 'hitchcock'), $paged, $wp_query->max_num_pages ); ?></h4> </div> <!-- /page-title --> <div class="clear"></div> <?php endif; ?> <div class="posts" id="posts"> <?php while (have_posts()) : the_post(); ?> <?php get_template_part( 'content', get_post_format() ); ?> <?php endwhile; ?> <div class="clear"></div> </div> <!-- /posts --> <?php endif; ?> <div class="clear"></div> <?php hitchcock_archive_navigation(); ?> </div> <!-- /content --> <?php get_footer(); ?>