Вопрос по навигации

Вывожу на индексной странице ленту статей , допустим состоящую из пяти анонсов.
Не могу сделать ссылку под лентой на остальные статьи этой категории.
Прошу помощи зала.

Не могу сделать ссылку под лентой на остальные статьи этой категории.

"Этой" – это какой из?

[quote=Сергей Петров]Не могу сделать ссылку под лентой на остальные статьи этой категории.

"Этой" – это какой из?[/quote]
Статьи которой выводятся в данныый момент в ленте.

Тогда не "этой", а "этих". Если для каждой записи отдельно, то http://codex.wordpress.org/Template_Tags/the_category Если нужны в одном месте все категории всех статей, то это придется программировать, хотя зачем бы оно было надо, если в навигации обычно есть кликабельный список всех рубрик.

Тогда не "этой", а "этих". Если для каждой записи отдельно, то http://codex.wordpress.org/Template_Tags/the_category Если нужны в одном месте все категории всех статей, то это придется программировать, хотя зачем бы оно было надо, если в навигации обычно есть кликабельный список всех рубрик.

Вы меня не поняли.

Допустим на странице лента из 5 статей определённой категории, а всего статей этой категории больше чем пять.

Как вывести ссылку на следующие пять статей этой категории, а если их меньше пяти, тогда чтобы ссылка не выводилась?

Вот реализация по Кодексу ( если просто тайтлы постов заданной категории):

<ul>
 <?php
 global $post;
 $myposts = get_posts('numberposts=10&offset=1&category=1');
 foreach($myposts as $post) :
 ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
 <?php endforeach; ?>
 </ul>

Если посерьезней, то вариант с темы branfordmagazine:

<?php
// this is where 10 headlines from the current category get printed      
if ( is_single() ) :
global $post;
$categories = get_the_category();
foreach ($categories as $category) :
?>
   <li>
      <h2><?php _e('Статьи из категории','branfordmagazine');?></h2>
      <ul class="bullets">
        <?php
$posts = get_posts('numberposts=10&category='. $category->term_id);
foreach($posts as $post) :
?>
        <li><a href="<?php the_permalink(); ?>">
          <?php the_title(); ?>
          </a></li>
        <?php endforeach; ?>
        <li><strong><a href="<?php echo get_category_link($category->term_id);?>" title="<?php _e('View all posts filed under','branfordmagazine');?> <?php echo $category->name; ?>"><?php _e('Еще материалы из ','branfordmagazine');?> '<?php echo $category->name; ?>' &raquo;</a></strong></li>
      </ul>
    </li>
    <?php endforeach; endif ; ?>

поправьте условия ( в приведенном – для шаблона одиночной записи).

Пока Вы обсуждали, я думал…. Поэтому вариант "чтобы не выводилась" и " только следующие, кроме выведенных" в представленном коде не предусмотрен.

Пока Вы обсуждали, я думал.... Поэтому вариант "чтобы не выводилась" и " только следующие, кроме выведенных" в представленном коде не предусмотрен.

Вот именно.

Вы меня не поняли.

Допустим на странице лента из 5 статей определённой категории

Ну, простите, не наделил господь телепатией.

Я сейчас дам ссылку на пост своего сайта, там тема, которая похожий вариант реализует… Покопайтесь в коде…
_http://www.shoptec.ru/?p=268 и ее демка _http://sponsoredwp.info/brightness/

Пока Вы обсуждали, я думал.... Поэтому вариант "чтобы не выводилась" и " только следующие, кроме выведенных" в представленном коде не предусмотрен.

….
$pid = $post->ID;
….
$posts = get_posts(array(‘orderby’=>’order’,’numberposts’=>7,’category’=>$category->term_id,‘post__not_in’=>array($pid)));
….

Как всегда, снимаю шляпу….

Дык я сейчас темку делаю, тоже немного попасся в сайдбаре branfordmagazine 🙂

[quote=Carik]Пока Вы обсуждали, я думал.... Поэтому вариант "чтобы не выводилась" и " только следующие, кроме выведенных" в представленном коде не предусмотрен.

….
$pid = $post->ID;
….
$posts = get_posts(array(‘orderby’=>’order’,’numberposts’=>7,’category’=>$category->term_id,‘post__not_in’=>array($pid)));
….[/quote]
Посмотрите пожалуйста, что то не работает.
С синтаксисом где то не в порядке, а вот где…

Пишет : syntax error, unexpected ‘;’

<?php $pid = $post->ID;
$mycat=get_the_category();
$mycat=$mycat[0];
$posts = get_posts(array(‘orderby’=>’order’,’numberposts’=>7,’category’=>$category->term_id,’post__not_in’=>array($pid));
foreach($posts as $post) : ?>
<span class title3><a
href="<?php the_permalink(); ?>"><?php the_title();?></a></span><br>
<?php

endforeach;
?>

Извиняюсь, нашёл, всё работает.

В итоге всё прекрасно работает.

Вот код:
"<h4>Также по теме:</h4>
<?php $pid = $post->ID;
$mycat=get_the_category();
$mycat=$mycat[0];
$posts = get_posts(array(‘orderby’=>’order’,’numberposts’=>10,’category’=>$cat,’offset’=>2,’post__not_in’=>array($pid)));
foreach($posts as $post) : ?>
<span class title3><a
href="<?php the_permalink(); ?>"><?php the_title();?></a></span><br>
<?php

endforeach;
?>"

Осталась одна проблема, как сделать, чтобы "<h4>Также по теме:</h4>" не выводилась, если нет записей.

типа так

if ($posts = get_posts(….
{
echo "<h4>Также по теме:</h4>";
foreach($posts as $post) :
….
endforeach;
}

типа так

if ($posts = get_posts(.... 
{
  echo "<h4>Также по теме:</h4>";
  foreach($posts as $post) : 
....
  endforeach; 
}

Не работает

<?php if ($posts = get_posts( ‘{
echo "<h4>Также по теме:</h4>";
foreach($posts as $post) }’) ?>
<?php endforeach;?>

пишет syntax error, unexpected ‘;’ on line 3

<?php 
   $pid = $post->ID;
$mycat=get_the_category();
$mycat=$mycat[0];
if ($posts = 
get_posts(array('orderby'=>'order','numberposts'=>10,'category'=>$cat,'offset'=>2,'post__not_in'=>array($pid))));
  {
  echo "<h4>Также по теме:</h4>";
foreach($posts as $post) : ?>
    <span class title3><a 
    href="<?php the_permalink(); ?>"><?php the_title();?></a></span><br>
    <?php
 
  endforeach;}
?>

Вот так работает, но когда нет статей, всё равно выводит <h4>Также по теме:</h4>

…array($pid))));

точка с запятой не нужна

...array($pid))));

точка с запятой не нужна

Спасибо!

Ну никак не идёт у меня синтаксис, старый наверное уже…

Anonymous
Отправить
Ответ на: