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

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

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

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

Q&A

解決済

1回答

845閲覧

固定ページから投稿のタイトルを表示させる方法がわからない

TOMZ12

総合スコア2

WordPress

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

0グッド

0クリップ

投稿2021/10/25 08:46

編集2021/10/26 07:07

前提・実現したいこと

ブログ一覧ページを固定ページで作成しようとしています。
固定ページ名:alllist.phpを作成しています。
固定ページ内で<?php the_title(); ?>を使うと、固定ページのタイトルが出力されてしまします。
固定ページで投稿のタイトルを表示したいです。

該当のソースコード

php

1alllist.php 2<?php/* 3Template Name:ブログ一覧 4*/?> 5<?php get_header(); ?> 6<?php while(have_posts()): the_post(); ?> 7 <?php the_title(); ?> 8<?php endwhile ?> 9<?php get_footer(); ?> 10 11index.php 12<?php if (have_posts()) : ?> 13 <div class="blog-img"></div> 14 <div class="blog-heading"> 15 <div class="blog-heading1"> 16 <h2> 17 <?php while (have_posts()) : the_post(); ?> 18 <dl> 19 <dt><?php 20 $posttags = get_the_tags(); 21 if ($posttags[0]) { 22 echo $posttags[0]->name; 23 } 24 ?></dt> 25 <dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd> 26 </dl> 27 <br> 28 <?php endwhile ?> 29 </h2> 30 </div> 31 <?php else : ?> 32 <p>記事が見つかりませんでした</p> 33 <?php endif; ?> 34 35header.php 36<!DOCTYPE html> 37<html <?php language_attributes(); ?>> 38<head> 39 <meta charset="<?php bloginfo('carset'); ?>"> 40 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 41 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 42 <title><?php wp_title('|',true,'right'); ?><?php bloginfo('name'); ?></title> 43 <link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>"> 44 <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>"> 45 <link href="http://wordpressexercise.local/wp-content/themes/極楽亭3完成版 レスポンシブ対応のコピー/slick/slick-theme.css" rel="stylesheet" type="text/css"> 46 <link href="http://wordpressexercise.local/wp-content/themes/極楽亭3完成版 レスポンシブ対応のコピー/slick/slick.css" rel="stylesheet" type="text/css"> 47 <link rel="stylesheet" href="/aos-master/dist/aos.css"> 48 <?php wp_head(); ?> 49</head> 50<body <?php body_class(); ?>> 51 <header class="header"> 52 <div class="header-fixed"> 53 <div class="header-logo"> 54 <img src="<?php echo get_template_directory_uri(); ?>/img/極楽亭ロゴ-1.png" alt="極楽亭のロゴ"> 55 </div> 56 <button type="button" id="js-buttonHamburger" class="c-button p-hamburger" aria-controls="global-nav" aria-expanded="false"> 57 <span class="p-hamburger__line"> 58 </span> 59 </button> 60 </div> 61 <div class="header-nav"> 62 <nav class="nav-wrap"> 63 <li><a href="">宿泊予約</a></li> 64 <li><a href="">観光情報</a></li> 65 <li><a href="">よくあるご質問</a></li> 66 <li><a href="">お問い合わせ</a></li> 67 </nav> 68 </div> 69 </header> 70 71footer.php 72<footer class="footer"> 73 <div class="footer-nav"> 74 <nav> 75 <li><a href="#">利用規約</a></li> 76 <li><a href="#">プライバシーポリシー</a></li> 77 <li><a href="#">個人商取引法に基づく表記</a></li> 78 <li><a href="#">お問い合わせ</a></li> 79 </nav> 80 </div> 81 <div class="footer-logo"><img src="./img/極楽亭ロゴ-1.png" alt=""></div> 82 <div class="copyright"><p>Copyright (c) 2021 <?php bloginfo('name'); ?> All Rights Reserved.</p></div> 83</footer> 84<?php wp_footer(); ?> 85<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 86<script type="text/javascript" src="./slick/slick.min.js"></script> 87<script src="./js/main.js"></script> 88<script src="/aos-master/dist/aos.js"></script> 89</body> 90</html>

試したこと

テンプレート階層を考え、archive.phpのファイルを作り試しましたができませんでした。
投稿を取得するループを作り、その中で<?php the_title(); ?>とすれば良いと考えたのですが、実現できませんでした。

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

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

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

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

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

tabuu

2021/10/26 02:05

>投稿を取得するループを作り、 「該当のソースコード」に投稿を取得するコードがありませんので編集して追記してください。
TOMZ12

2021/10/26 07:04

<?php while(have_posts()): the_post(); ?> <?php the_title(); ?> <?php endwhile ?> ページのホームであるindex.phpは上のように記述することで、投稿タイトルを取得することができたので、固定ページも同様の記述で良いと考えていたのですが、間違っていますでしょうか。
KazuhiroHatano

2021/10/26 09:04

> 固定ページも同様の記述で良い 間違ってます while(have_posts()): the_post(); はメインクエリをループします メインクエリは投稿一覧のページなら投稿一覧をループ 固定ページならその固定ページをループします メインクエリと異なるクエリのループをしたいのであれば サブクエリを使いましょう https://www.google.com/search?client=safari&rls=en&q=wp+%E3%82%B5%E3%83%96%E3%82%AF%E3%82%A8%E3%83%AA&ie=UTF-8&oe=UTF-8
TOMZ12

2021/10/26 10:19

メインクエリ、サブクエリの理解ができていませんでした。 ご回答いただき、ありがとうございました。
guest

回答1

0

自己解決

php

1<?php 2$paged = (int) get_query_var('paged'); 3$args = array( 4 'posts_per_page' => 10, 5 'paged' => $paged, 6 'orderby' => 'post_date', 7 'order' => 'DESC', 8 'post_type' => 'post', 9 'post_status' => 'publish' 10); 11$the_query = new WP_Query($args); 12if ($the_query->have_posts()) : 13 while ($the_query->have_posts()) : $the_query->the_post(); 14?> 15 <div class="post"> 16 <h1 class="title"><?php the_title(); ?></h1> 17 </div> 18<?php endwhile; 19endif; ?>

上のようにサブクエリを記述することで固定ページでの投稿の取得が可能になる。

投稿2021/10/26 10:17

TOMZ12

総合スコア2

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問