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


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

3
Почему отвращение к плагинам?
— chrisguitarguy

Потому что, если это плагин, он не встроен в тему.
— AndrettiMilas

4
@Lucas Wynne Если вы хотите встроить его, скопируйте / вставьте некоторый код плагина в файл functions.php вашей темы.
— Кайзер

2
@kaiser, конечно, если вы соблюдаете условия лицензии и IP, что не так просто, если вы создаете тему для продажи.
— Фил Хили

Ответы:


14

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

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

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


Они не работают в моей теме.
— 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";
}
?>

3
Пожалуйста, отформатируйте свои коды / ответ и добавьте к нему пояснения.
— Марути Моханти

1
В любом случае, я могу ограничить это таксономией, в которой находится CPT?
— Хил Хамер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.