カスタム投稿タイプ次/前のリンク?


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ファイルにコピーして貼り付けます。
カイザー、2011年

2
@kaiserはもちろん、ライセンスとIPの条件を満たしていると想定しています。これは、販売用のテーマを作成する場合は簡単ではありません。
Phill Healey

回答:


14

単一の投稿に次/前のリンクが必要な場合は、組み込みnext_post_link関数とmatchingがありprevious_post_link、どちらもループ内で使用する必要があります。

アーカイブにはnext_posts_link、およびを使用しprevious_posts_linkます。

これらはすべて、カスタム投稿タイプで正常に動作します。


彼らは私のテーマでは機能していません。
AndrettiMilas

3
はい。まあ、コードを見ずに、理由を言うのは難しいです。PHPのエラーや警告はありますか?関数がリンクを取得するための複数の投稿が挿入されていますか?
chrisguitarguy

上記の質問を更新しました。
AndrettiMilas

3番目のTRUE引数で試して、お知らせください。
chrisguitarguy '19年

第三の真の議論?
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
コード/回答をフォーマットし、説明を追加してください。
Maruti Mohanty

1
とにかく、CPTが含まれる分類法に制限できますか?
ギルハマー2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.