質問編集履歴

1 何でワードプレスを動かしているか追記。また、現状かん

退会済みユーザー

退会済みユーザー

2017/04/08 18:11  投稿

外部においた静的ページ内でのページネーションの実装
現在、既存のサイトの一部分にワードプレスだけを導入しました。
その一部分の中で、ワードプレスの投稿一覧を取得し、ページネーションを実装したいのですが、1ページめから次のページへの移管がうまくいかず困っています。
現状の構成は以下のようになっています。
someserver
-index.php
-blogs.php(ワードプレスの記事を表示させるページ)
-/blog(ワードプレスのインストール先フォルダ
この中で、blogs.phpにページネーション用のコードを記述してあり、記事一覧は無事取得できています。
また、ページ移換時も、`www.hoge.com/blogs?page=2`というようにエラーもでずに表示はされるのですが、中身が何も変わっていないので次のページへ中身が伝わっていない?状態です。
```php
<?php
$paged = (get_query_var('page')) ? get_query_var('page') : 1;#現在表示中のページの番号
$args = array(
   'posts_per_page' => 3,#1pgに表示する最大投稿数
   'paged' => $paged,
   'orderby' => 'post_date',
   'order' => 'DESC',#投稿順
   'post_type' => 'post',
   'post_status' => 'publish'#投稿状態 公開済みのみ
);
$the_query = new WP_Query($args);#全投稿をargsの条件で取得
if ( $the_query->have_posts() ) :#投稿されているものがあるかぎりループ
   while ( $the_query->have_posts() ) : $the_query->the_post();#上記がtrueである限りpostの次を出す
?>
   <div class="post">
       <h1 class="title"><?php the_title(); ?></h1>
       <?php the_content(); ?>
   </div>
<?php endwhile; endif; ?>
<?php
if ($the_query->max_num_pages > 1) { #1以上の場合max_num_pagesで総ページ数を取得
   echo paginate_links(array(
       'base' => '%_%',
       'format' => '?page=%#%',
       'current' => max(1, $paged),
       'total' => $the_query->max_num_pages
   ));
}
?>
<?php wp_reset_postdata(); ?>
```
すみませんがご教授よろしくお願いします。
すみませんがご教授よろしくお願いします。
/*------------------------------------追記-------------------------------------*/
`wp-load.php`でワードプレスを動かしている
`'paged' => $paged`に直接数値を書き込んだ場合はページの内容が切り替わっているので'$paged'がうまく動いていないもよう。
  • PHP

    33268 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    13114 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る