質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

2回答

3884閲覧

【wordpress】ページネーションを表示させたい

ami15821

総合スコア56

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2016/06/10 05:15

編集2016/06/15 12:31

###前提・実現したいこと
できればプラグインを使わずにページネーションを表示させるようにして、記事一覧がちゃんとページごとに表示されるようにしたいです。

###発生している問題・エラーメッセージ

実装箇所に何も表示されません。 参考サイト(http://11neko.com/wordpress-12/)ではコピペだけで、とりあえず表示はされると記載されていたのですが。。。

###該当のソースコード
single-beautiful.php

<div class="blog_wrap"> <div class="mt_30 clearfix"> <div class="blog_l"> <div class="content scr01"> <p class="blog_news">blog一覧</p> <?php $args = array( 'numberposts' => 4, //表示(取得)する記事の数 'post_type' => 'blog_page01' //投稿タイプの指定 ); $customPosts = get_posts($args); if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post ); ?> <ul class="border clearfix"> <div class="col_l"> <!-- ここから --> <figure class="thumbnail"> <a href="<?php the_permalink(); ?>"> <?php if(has_post_thumbnail()) { the_post_thumbnail(); } else { echo '<img src="'.get_template_directory_uri().'/images/no_image.png" width="120" height="120"/>'; } ?> </a> </figure> <!-- ここまで --> </div> <!-- col_l --> <div class="col_r"> <li class="blog_topic"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <li class="day01"><?php the_time('Y年n月j日'); ?></li> <li class="topic_text03"><a href="<?php the_permalink() ?>"><?php echo mb_substr(strip_tags($post-> post_content),0,100).'...'; ?> </a></li> </div> </ul> <?php endforeach; ?> <?php else : //記事が無い場合 ?> <li><p>記事はまだありません。</p></li> <?php endif; wp_reset_postdata(); //クエリのリセット ?> </div> <!-- content scr --> <div class="mb_40 clearfix"> <div class="pagination"> <?php global $wp_query; $big = 999999999; echo paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages ) ); ?> </div> <!--pagination --> </div> <!--mb_40 clearfix --> </div> <!--blog_l --> <?php get_sidebar(); ?> </div> <!--clearfix--> </div> <!-- blog_wrap-->

index.php

<div class="pagination"> <?php global $wp_query; $big = 999999999; echo paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages ) ); ?> </div> <!--pagination -->

###試したこと
1.投稿ページで実装して表示されましたページネーションを同じ要領で実装しました。
結果、何も表示されず読み込みはされていない様子です。
2.single-beautiful.phpのほかに、別サイトのindex.phpにも同じコードを記載しました。どどちらも表示されていません。
3.プラグイン『WP-PageNavi』をインストールして、ページネーションを表示させたい箇所に読み込みコードを入れましたが、chromeの検証で確認しても読み込まれてないようです。
4.デフォルトテーマに戻してページネーションのタグを貼り付けて表示の確認をしました。デフォルトでは表示されました。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/06/14 10:58

single-beautiful.php でquery_postsなどを使用しておられませんか?また、デフォルトのテーマで同じページネーション用コードを入れて動作するか確認してみてください。
ami15821

2016/06/15 02:16

ご指摘ありがとうございます。 デフォルトのテーマに同じページネーション用コードを入れて動作確認をしたところ、表示されました。 single-beautiful.php でquery_postsは、使用してないとは思うのですが...
kei344

2016/06/15 02:18

編集で削除された部分にはquery_postsがありますが、掲示されているコードが現状のコードと考えて良いんですね?
ami15821

2016/06/15 02:21

はい、ややこしい書き方になってしまって失礼いたしました。 色々なコードを試しては削除してを繰り返していたため、余計なコードを記載してしまっておりました。
guest

回答2

0

ベストアンサー

blog.php は何に使っているのでしょうか。WordPressの標準テンプレートでは使用しない命名規則です。

また、single-beautiful.php は投稿タイプ「beautiful」の記事アーカイブ用テンプレートですが、なぜそれに一覧を表示させようとしているのでしょうか。その投稿タイプの記事全てが一覧ページになります。

投稿タイプのhas_archiveを正しく設定しているならexample.com/beautiful/に一覧ページが表示されるはずです。その際には archive-beautiful.php が一覧用テンプレートになります。

get_postsはサイドバーなどでページのコンテキストから離れた記事一覧を取得することに使用することが多く、通常のテンプレートではWhileを使ったいつものループを使うようにしたほうが良いです。

【Cat Speak | カスタム投稿タイプのアーカイブページを作成する】
http://cat-speak.net/2012/02/29/433/

【カスタム投稿タイプの一覧ページの作成 | Web Design Leaves】
http://www.webdesignleaves.com/wp/wordpress/965/

投稿2016/06/15 11:17

編集2016/06/15 11:19
kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ami15821

2016/06/15 11:58

ご回答、ありがとうございます。 >blog.php は何に使っているのでしょうか。WordPressの標準テンプレートでは使用しない命名規則です。 大変失礼いたしました。 blog.php につきましては、私の過失でして、一つのwordpressの管理画面で2つのサイトを管理できるようにしていまして、どちらでもページネーションが表示されていなかったためうっかり今回質問しているサイトと対になるサイトのblog.php を記載しておりました。 なので、blog.php については今回の質問ページとは異なるので(起きてる現象はおなじですが)省いて考えてくださいませ。 こちら、削除したほうがいいかもしれませんが、消してしまうのはよろしくないでしょうか? >また、single-beautiful.php は投稿タイプ「beautiful」の記事アーカイブ用テンプレートですが、なぜそれに一覧を表示させようとしているのでしょうか。その投稿タイプの記事全てが一覧ページになります。 上記のように、詳細の話になりますとひとつのサイトで2つのサイトのように表示させてほしいという案件を受けておりまして、マルチサイト化をwordpressに実装いたしました。 作り始めた当初はマルチサイト化のことを知らなかったため、beautifulサイトの記事一覧という意味合いでsingle-beautiful.phpにしております。
kei344

2016/06/15 12:15

> beautifulサイトの記事一覧という意味合いでsingle-beautiful.phpにしております。 WordPress のテンプレートシステムは特定の名前のものを取得するようになっています。それはマルチサイトでも同じです。そのため、なんらか別の方法でご自身の取得したいテンプレートを取得されているのでしょう。 少なくともテンプレートは別の名前をお使いください。標準のテンプレートが取得するものと競合してしまう可能性があります。 また、独自の方法でテンプレートを呼び出して、通常と違う運用をされている以上、標準のページネーションなどは使用できないと思ったほうが良いです。 > blog.php 内容把握しました。置いておいてもどちらでも良いと思います。
ami15821

2016/06/15 19:21

kei344様 ありがとうございます。 wordpressの仕組みが少しずつですがわかってきました。 ブログ一覧ページのテンプレートをpage-blog.phpに変更しましたら、ページネーションが表示されるようになりました!
kei344

2016/06/16 00:52

一覧するページなら archive-blog.php になると思いますが・・・。固定ページで一覧を作られているということでしょうか。一度書籍などで全体像を把握されたほうが良いと思います。 【[WordPress] テンプレートファイルの階層・優先順位 | ぶぶりんブログ】 http://buburinweb.wp.xdomain.jp/wordpress-template-faile 【WordPressのテンプレートファイルの種類とテンプレート階層 | Mignon Style】 http://mignonstyle.com/wordpress-template-file/ 【WordPressのテンプレートファイルの種類と使い方を覚える | Webデザインとグラフィックの総合情報サイト - MdN Design Interactive -】 http://www.mdn.co.jp/di/articles/2782/?page=8
ami15821

2016/06/16 01:38

固定ページで一覧を作っています。 正規のやり方じゃないんですね。。。 参考サイトありがとうございます。 もしオススメの書籍もあれば教えて下さい。
kei344

2016/06/16 01:49

書籍は比較的新しい入門書(と難しそうなもの)を数冊買って、見比べながら理解するのが手早いと思います。基本的に同じことをそれぞれ別の方法(手順)で説明しているはずなので、理解がしやすいと思っていつもこの方法を採っています。
ami15821

2016/06/16 01:55

ありがとうございます。
guest

0

「wordpress ページネーション」で検索したら1番上に↓がありました。
こちらは試されましたでしょうか?
WordPress プラグインなしでシンプルなページネーションを実装

投稿2016/06/15 02:05

kaputaros

総合スコア1844

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ami15821

2016/06/15 02:10

回答ありがとうございます。 こちらのサイト、1度試しましたが、表示されませんでした...
kaputaros

2016/06/15 02:14

そうなんですね・・・では別のところに原因があるかも。 PHPは使ったことないので、あまりお役に立てず。すいません。
ami15821

2016/06/15 02:19

とんでもございません。 自分では手に余っている状態ですから ご対応していただけただけで、ありがたいことです。 お時間いただき、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問