Вести список статей

Здравствуйте! Буду очень благодарен за помощь. Вывожу списки статей на странице автора для различных категорий.  Вот код для вывода одной категории:

 <h2>Стихи</h2>

<?php query_posts('category_name=stihi'); ?>

<?php while (have_posts()) : the_post(); ?>

<ul><li><a href="<?php the_permalink(); ?>">

<?php the_title(); ?>

</a> </li></ul>

<?php endwhile; ?> 
Как сделать, чтобы не отображался заголовок  списка, если у автора нет статей данной категории. И второй вопрос: как вывести один простой список ссылок всех статей автора с ссылками на категорию? Большое спасибо! Было бы ещё лучше, если я смог показать списки категорий с ссылками статей автора, в каждом из которых отображалась бы ссылка подкатегории. Возможно ли использовать в любом из этих случаев постраничную навигацию.

Написал так (с показом категории без списка):


<h2>Стихи</h2>

<?php query_posts('category_name=stihi'); ?>

<?php while (have_posts()) : the_post(); ?>

<ul><li><a href="<?php the_permalink(); ?>">

<?php the_title(); ?>

</a> <span><?php the_time('d-m-y') ?></span> <span><?php $cat = get_the_category(); echo $cat[0]->cat_name; ?></span></li></ul>

<?php endwhile; ?>

Как можно реализовать постраничную навигацию?

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

Если я правильно понял ваш вопрос, то примерно вот так:

 // задаем нужные нам критерии выборки данных из БД
 $args = array(
 'posts_per_page' => -1,
 'cat' => 'stihi'
 );
$query = new WP_Query($args);
if (!empty($query->post_count)) {
 echo 'Название категории';
 // Цикл
 if ($query->have_posts()) {
 while ($query->have_posts()) {
 $query->the_post();
 echo '<li><a href="' . get_the_permalink() . '">' . get_the_title() . '</a> ';
 // получим категории
 $cat = wp_get_post_categories(get_the_ID, array('fields' => 'all'));
 // выводим категории
 foreach ($cat as $val) {
 echo $val->name . '<br>';
 $category_link = get_category_link($val->term_id);
 echo '<a href="' . esc_url($category_link) . '">' . $val->name . '</a>';
 }
 echo '<li>';
 }
 } else {
 // Постов не найдено
 }
 /* Возвращаем оригинальные данные поста. Сбрасываем $post. */
 wp_reset_postdata();
 }
 

Код не тестировал.

По пагинации уже были вопросы на данном сайте.

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

Спасибо большое! Категории появились, но абсолютно всех авторов. Мне же нужно на странице автора показать список его статей. Или я что-то не то сделал. Буду думать. 

3-6 строчки в моем примере


$args = array(
'posts_per_page' => -1,
'cat' => 'stihi',
'author' => 99 // 99 - это id пользователя/автора
);

в 09.11.2016.

Спасибо большое! Однако несколько неудобно прописывать идентификатор. Может быть как-то иначе можно вывести простой список статей автора на странице автора с указанием категорий для каждой ссылки? У меня есть страница авторов со списком авторов с аватарами и биографией, с которой я перехожу на страницу конкретного автора — вот на этой странице и хотелось бы иметь простой список всех статей этого автора с ссылками и указанием категории рядом с каждой ссылкой.  Простите, я не очень силён в PHP.

в 12.11.2016.

id автора можно получить автоматически, есть специальные функции,

 $curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author));
$args = array(
'posts_per_page' => -1,
'cat' => 'stihi',
'author' => $curauth->ID // - это id пользователя/автора )
 

данные код должен быть в шаблоне author.php

в 13.11.2016.

Спасибо большое! В шаблон автора я и вставляю. Вставил Вашу функцию, но всё равно почему-то не получается. Не буду больше Вас беспокоить — попробую сначала понять.

в 14.11.2016.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.