前提・実現したいこと
ブログ一覧ページを固定ページで作成しようとしています。
固定ページ名: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(); ?>とすれば良いと考えたのですが、実現できませんでした。
>投稿を取得するループを作り、
「該当のソースコード」に投稿を取得するコードがありませんので編集して追記してください。
<?php while(have_posts()): the_post(); ?>
<?php the_title(); ?>
<?php endwhile ?>
ページのホームであるindex.phpは上のように記述することで、投稿タイトルを取得することができたので、固定ページも同様の記述で良いと考えていたのですが、間違っていますでしょうか。
> 固定ページも同様の記述で良い
間違ってます
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
メインクエリ、サブクエリの理解ができていませんでした。
ご回答いただき、ありがとうございました。
回答1件
あなたの回答
tips
プレビュー