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

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

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

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

Q&A

解決済

1回答

1997閲覧

ワードプレスでhtmlの静的ページに投稿を表示させたい

konoha0708

総合スコア36

WordPress

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

0グッド

0クリップ

投稿2018/02/20 11:48

編集2018/02/21 13:12

ワードプレスでhtmlの静的ページに投稿を表示させるため、ループやタグを設定しましたが
投稿した記事が表示されません。投稿を表示させるにはどうすれがよいですか?

イメージ説明
ピンクの箇所にサムネイル画像、下部にタイトルを反映させたい。

<?php require('./wp/wp-load.php'); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> 〜中略〜 <div class="c2"> <div class="container"> <div class="c2-inner"> <p class="c2-title">テキストテキストテキスト<br> <span>投稿した記事</span></p> <p class="content pad-10">テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト<br> テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト<br> テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> <div class="row c2-middle"> <?php if (have_posts()):?> <?php while (have_posts()): the_post();?> <div class="col-xs-6 col-sm-4 col-md-4 col-lg-3"><a href="<?php the_permalink(); ?>"> <figure> <?php if (has_post_thumbnail()) : ?> <?php the_post_thumbnail(array(100, 100)); ?> <?php else: ?> <img src="<?php echo get_template_directory_uri(); ?>/images/square-img.png" alt="" width="100%" height="auto"> <?php endif; ?></figure> <figcaption><?php the_title(); ?></figcaption> </a></div> <?php endwhile;?> <?php endif;?> <?php wp_reset_query();?> </div> <!-- / .row --> </div> <!-- / .c2-inner --> </div> <!-- / .container --> </div> <!-- / .c2 -->

イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

WP_Queryクラスやget_posts関数を使って表示する投稿の情報を取得する必要があります。

PHP

1<?php 2 3// The Query 4$the_query = new WP_Query( $args ); 5 6// The Loop 7if ( $the_query->have_posts() ) { 8 echo '<ul>'; 9 while ( $the_query->have_posts() ) { 10 $the_query->the_post(); 11 echo '<li>' . get_the_title() . '</li>'; 12 } 13 echo '</ul>'; 14} else { 15 // no posts found 16} 17/* Restore original Post Data */ 18wp_reset_postdata();

引用:関数リファレンス/WP Query - WordPress Codex 日本語版

投稿2018/02/21 01:09

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

konoha0708

2018/02/21 03:47

回答をいただき、ありがとうございます。 phpがわからないまま、ワードプレスを触っていまして。。。 よく、記載されている↓ <?php if (have_posts()):?> <?php while (have_posts()): the_post();?> ・ ・ だけで、呼び出せるものと、 $the_query = new WP_Query( $args );・・・などの記載するものと、違いがあるのでしょうか? ど素人すぎてすみません。 新着のニュース的なものとブログの両方をトップページに表示するために、$the_query = new WP_Query( $args );・・・が必要ということなのでしょうか。。
konoha0708

2018/02/21 04:04

続きですが、 今、いろいろ調べていまして・・・今回はサブループを使う必要があるからということでしょうか。。
退会済みユーザー

退会済みユーザー

2018/02/21 04:11 編集

大雑把に説明しますと single.php など、主となる投稿があることが保証されるものはグローバル変数を参照しますので WP_Query や get_posts 等せずとも、下記だけで投稿を表示できます。 if (have_posts()) : while (have_posts()) : the_posts(); home.php などにサブループとして表示する場合は WP_Query 等で投稿の情報をデータベースから持ってくる必要があります。 厳密に言えばもう少し違いはありますが、メインループ以外のものは投稿の情報を取得する必要があると認識していれば問題ないと思います。
konoha0708

2018/02/21 04:10

お返事ありがとうございます。疑問だらけですみません。いつもご丁寧な説明に感謝します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問