WordPressのカスタムテンプレートが読み込まれない
Q&A
Closed
解決したいこと
WordPressのカスタムテンプレート・カスタム投稿タイプについて
カスタムテンプレート(page-$slug.php)が表示されずに、index.phpが表示されてしまいます。
index.phpではなく、page-$slug.phpが表示されるようにしたい。
現状
カスタム投稿タイプを複数作り、それらを各々一覧表示および個別詳細ページを表示させたい。
①page-blog.php(投稿一覧) → single-blog.php(個別詳細ページ)
②page-works.php(投稿一覧) → single-works.php(個別詳細ページ)
※page-$slug.phpの部分が表示されずに、index.phpが表示されてしまいます
※個別詳細ページは表示できています
※固定ページ作成画面内で、テンプレート(blog)を選択することはできているため、
テンプレートは読み込まれていることが確認できております
※以前はこの設定のまま表示されていたのですが、
どこもいじることなく急にpage-$slug.phpが読み込まれずにindex.phpが表示されるようになってしまいました
該当するソースコード(page-$slug(blog).php)
<?php
/**
* Template Name: blog
*/
?>
<!DOCTYPE html>
<html lang="ja">
・
・
・
該当するソースコード(plugin.php)※プラグインにてカスタム投稿タイプを追加
<?php
/**
* Plugin Name:
* Version:
* Description:
* Author:
*/
add_action('init', function() {
add_theme_support('title-tag');
add_theme_support('post-thumbnails');
register_post_type('blog', [
'label' => 'Blog',
'public' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-welcome-write-blog',
'supports' => ['thumbnail', 'title', 'editor'],
'has_archive' => true,
'show_in_rest' => true,
'taxonomies' => ['category', 'post_tag']
]);
});
自分で試したこと
①パーマリンクの設定を何も変更せずに保存
②WordPressの削除および再インストール(データベースより削除)
※削除後に、スラッグ名を「blogs」に変更したことで一度表示されるようにはなったのですが、
また時間が経つと表示されなくなってしまいました