Wordpresssingle.phpの単一カテゴリの投稿をページングする

2011年07月19日に質問されました。  ·  閲覧回数 11.2k回  ·  ソース

James Howell picture
2011年07月19日

WordpressをCMSとして使用してサイトを設定しました。 私はこのサイトをポートフォリオとして使用して、フロントエンドのWeb開発スキルを披露し、ブログ用にサイトの別の領域を用意しています。 プロジェクトまたはブログのいずれかのカテゴリを投稿に与えることで、サイトに2つのブログがあるという問題を回避しました。

私のサイトのフロントページには、サムネイルと最近のプロジェクトへのリンクが含まれています。 クリックすると、Single.phpを使用して単一の投稿を表示するプロジェクトの詳細ページが表示されます。 TwentyTenテーマ(私が編集した)にはページ付けが付属しているため、プロジェクトの詳細ページが表示されているときに、クリックして次または前の投稿に移動することもできます。 ただし、カテゴリに制限はないようですので、クリックしてブログの投稿にアクセスすることもできます。 ユーザーがクリックして他のプロジェクトにしかアクセスできないようにしたい。

私はこの問題をグーグルで検索し、カスタムクエリを使用するための提案を見つけたようですが、提案された解決策はどれも機能していないようです。

Single.phpに一度に1つの投稿のみを表示し、次または前のプロジェクト投稿にリンクできるページネーションが必要です。

何か案は?

回答

Mike picture
2011年11月24日
3

これらのリンクをチェックアウトしてください: httphttp://codex.wordpress.org/Function_Reference/next_post_link

これは、関数を使用して現在の猫のみの投稿に制限する方法の例です。

<?php previous_post_link('%link', 'Next: %title &raquo;' , in_same_cat, 'excluded_categories '); ?>
<?php next_post_link('%link', '&laquo; Previous: %title', in_same_cat, 'excluded_categories '); ?>
k4t434sis picture
2011年11月22日
1

あなたはこのようなものが欲しいと思っています:

$the_page = get_query_var('paged'); //<!-- tell wordpress this is paged
query_posts('cat=7&posts_per_page=6&paged='.$the_page); //<-- set cat= to the numeric category

if (have_posts()) {
    while (have_posts()) {
        the_post();

        // do your awesome WP loop stuff here
        <div><?php next_posts_link('Next Page &raquo;') ?></div>
        <div><?php previous_posts_link('&laquo; Previous Page') ?></div>
    }
}

お役に立てれば