Пользовательский тип сообщения Следующая / Предыдущая ссылка?

12

У меня есть пользовательский тип сообщения под названием портфолио. Мне нужна предыдущая / следующая ссылка БЕЗ плагина. У кого-нибудь есть решение?

Пример сообщения: http://themeforward.com/demo2/archives/portfolio/boat

<?php get_header(); ?>

<!-- Begin wrap -->
<div class="clear">
<div id="full_container">
<div id="content2">
<div id="content">

<!-- Grab posts -->
<?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>

<!-- Post title -->
<h1>
    <?php the_title(); ?>
</h1>

<!-- The post -->
<?php the_content(); ?>

<!-- Tags -->
<h3 class="tags">
    <?php the_tags('Tags ',' / ','<br />'); ?>
</h3>

<!-- End wrap -->
</div>

<!-- Next/Previous Posts -->
<div class="mp_archive2">
<div id="more_posts">
    <div class="oe">
        <?php previous_post_link('%link', '« Previous post', TRUE); ?>
    </div>

    <div class="re">
        <?php next_post_link('%link', 'Next post »', TRUE); ?>
    </div>
</div>
</div>

<?php endwhile; else: ?>
<p>No matching entries found.</p>
<?php endif; ?>
</div>
</div>
</div>
</div>
<?php get_footer(); ?>
AndrettiMilas
источник
3
Почему отвращение к плагинам?
chrisguitarguy
Потому что, если это плагин, он не встроен в тему.
AndrettiMilas
4
@Lucas Wynne Если вы хотите встроить его, скопируйте / вставьте некоторый код плагина в файл functions.php вашей темы.
Кайзер
2
@kaiser, конечно, если вы соблюдаете условия лицензии и IP, что не так просто, если вы создаете тему для продажи.
Фил Хили

Ответы:

14

Если вам нужны следующие / предыдущие ссылки для отдельных сообщений, есть встроенная next_post_linkфункция и сопоставление previous_post_link, которые, вероятно, следует использовать в цикле.

Для архивов используйте next_posts_linkи previous_posts_link.

Все это будет хорошо работать с пользовательскими типами сообщений.

chrisguitarguy
источник
Они не работают в моей теме.
AndrettiMilas
3
Ладно. Ну, не видя ни одного вашего кода, трудно сказать, почему. Есть ли какие-либо ошибки или предупреждения PHP? У вас есть несколько сообщений, вставленных для функций, для которых нужно получить ссылку?
chrisguitarguy
Я обновил свой вопрос выше.
AndrettiMilas
Попробуйте это с третьим ИСТИННЫМ аргументом и дайте нам знать.
chrisguitarguy
Третий верный аргумент?
AndrettiMilas
14
<?php
$prev_post = get_previous_post();
if($prev_post) {
   $prev_title = strip_tags(str_replace('"', '', $prev_post->post_title));
   echo "\t" . '<a rel="prev" href="' . get_permalink($prev_post->ID) . '" title="' . $prev_title. '" class=" ">&laquo; Previous post<br /><strong>&quot;'. $prev_title . '&quot;</strong></a>' . "\n";
}

$next_post = get_next_post();
if($next_post) {
   $next_title = strip_tags(str_replace('"', '', $next_post->post_title));
   echo "\t" . '<a rel="next" href="' . get_permalink($next_post->ID) . '" title="' . $next_title. '" class=" ">Next post &raquo;<br /><strong>&quot;'. $next_title . '&quot;</strong></a>' . "\n";
}
?>
user25225
источник
3
Пожалуйста, отформатируйте свои коды / ответ и добавьте к нему пояснения.
Марути Моханти
1
В любом случае, я могу ограничить это таксономией, в которой находится CPT?
Хил Хамер