ご覧いただきありがとうございます。
<実現したいこと>
permalinkを正常に動作させたい。
wordpressで投稿記事を取得して一覧表示し、個々の記事へ飛ぶためのページを作成しています。
php
1 2<!DOCTYPE html> 3 4<?php 5/** 6 * Template Name: 一覧&ページネーション用 7 * Template Post Type: page, post 8 */ 9 ?> 10 11<?php get_header(); ?> 12 13<?php get_template_part('content', 'menu'); ?> 14 15 <!-- blog_list --> 16 <main id="main"> 17 <h1 class="title"><?php echo get_the_title(); ?></h1> 18 19 <?php 20 21 $my_posts = get_posts(); ?> 22 <?php foreach ( $my_posts as $p ) { 23 24 $link = get_permalink($p->ID); 25 26 ?> 27 <article class="article-item"> 28 <h2 class="article-title"><a href="<?php echo get_permalink($p->ID); ?>"><?php echo $p->post_title; 29 ?></a></h2> 30 31 <p class="article-body"> 32 <?php echo $p->post_content; ?> 33 </p> 34 </article> 35 36 37 <?php } 38 ?> 39 40 <?php comments_template(); ?> 41 42 43 </main> 44 45<?php get_footer(); ?> 46 }
という実装でリンクを作成し、個々の記事のページであるsingle.phpに遷移することは確認できました。
しかし、single.phpでの
PHP
1 2<?php get_header(); ?> 3 <!-- メニュー--> 4 <?php get_template('content', 'menu'); ?> 5 <?php 6 7 if ( have_posts() ) { 8 9 // ループの開始 10 while ( have_posts() ) { 11 the_post(); 12 } 13 ?> 14 15 <?php the_title(); 16 the_content(); 17 $category = get_the_category(); 18 echo $category[0]->cat_name; 19 ?> 20 21 22 <?php 23 24} else { 25 // 対象の投稿が見つからない時の処理 26} 27 28 29?> 30 31<?php get_footer(); ?>
のヘッダーやフッター、メニュー取得のメソッドが動いていないため正しい遷移の仕方ではない可能性が高いです。
考えられる原因は何があるのか心当たりがあればご教示ください。
header.php
PHP
1<!DOCTYPE html> 2<html> 3 <head> 4 <link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>"> 5 <?php echo "since2001"; ?> 6 </head> 7 <body> 8 <header> 9 10 </header>
footer.php
PHP
1 <footer> 2 </footer> 3 <?php echo "©️a-z"; ?> 4 </body> 5</html>
content-menu.php
PHP
1<!-- content-menu開始 --> 2 <!-- メニュー --> 3 <header class="site-width"> 4 <h1><a href="<?php echo home_url(); ?>"><img src="<?php header_image(); ?>"class="img-responsive" alt="<?php bloginfo('name'); ?>"></a></h1> 5 <nav id="top-nav"> 6 <?php wp_nav_menu( array( 7 'theme_location' => 'mainmenu' , 8 'container' =>'', 9 'menu_class' => '', 10 'items_wrap' => '<ul>%3$s</ul>')); 11 ?> 12 </nav> 13 </header> 14<!-- content-menu終了 -->
wordpress5.7.2
回答1件
あなたの回答
tips
プレビュー