filrussia

Рейтинг
73
Регистрация
03.12.2008
ed5731
djdiplomat:
А вы конкретно что хотите? Чтобы где-то вывелось число постов? Или пагинацию замутить хотите, или что?
Если вывелось число постов, так функция wp_count_posts() получает, а не выводит! http://wp-kama.ru/function/wp_count_posts
для вывода echo нужно.
справочников по wp

Нужна постраничная навигация. Сейчас почитаю. Спасибо за ссылку.

Все равно что-то не выходит. Сейчас выводит ссылку на рубрику:


<?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(); ?>
Gerga:
должен работать, возможно где-то выводится количество записей, но вы не видите где.

---------- Добавлено 30.01.2016 в 15:35 ----------


тут вы получите все опубликованные записи типа post

Ошибка 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 -->
djdiplomat:
добавь к запросу
'posts_per_page' => -1,

еще можно добавить
'post_status' => 'publish'

Добавить сюда:

<?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' ) );
?>

Теперь выводят все посты на одной странице

webFil:
$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-->
Sly32:
Что ж вы так все в это query_posts лезете. Потом будете засыпать форум вопросами "Почему все тормозит..."
WP_query используйте, с ним проблем на порядок меньше
После цикла не забываете wp_reset_query()

Я сменил в цикле "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(); ?>


---------- Добавлено 25.01.2016 в 15:06 ----------

По поводу title: поставил эту тему Hitchcock на другой сайт, где титл выводился. После активации темы, титл не выводится, только ссылка на страницу
Sly32:
filrussia, Не обжайтесь, но вы взяли в руки клавиатуру и пытаетесь ей гвозди забивать. Почитайте про функции вордпрес, а лучше с пхп начните...

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

Я просто взял оригинальный 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(); ?>
Всего: 62