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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

カスタム投稿の内容をページとして表示させたい

numakichi
numakichi

総合スコア10

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1回答

0リアクション

0クリップ

153閲覧

投稿2022/07/13 08:31

前提

functions.phpに『よくある質問(FAQ)』というカスタム投稿を追加し、Custom Field Templateで『質問』と『回答』を入力するカスタムフィールドを作成しました。

カスタム投稿の各タイトル(計3つ)ごとに『よくある質問(FAQ)』を表示させたく、
カスタム投稿をコンテンツとしてページに表示するやり方が分からず、苦戦しています。

記事を調べたところ、以下の記事を参考に『single-{スラッグ名}.php』で値を表示させるところまではできました。

↓『質問』と『回答』をグループ化し、自由に追加・削除するやり方
https://kacco-e.com/blog/406

↓同一の項目に配列で入った値を出力させるやり方
http://doshiroutonike.com/web/wordpress/wp-plugin/1666

WordPress管理画面(カスタムフィールドテンプレート)
イメージ説明
WordPress管理画面(カスタム投稿-タイトル3つ分)
イメージ説明
WordPress管理画面(カスタム投稿-『よくある質問』)
イメージ説明

実現したいこと

カスタム投稿の各タイトル(計3つ)ごとに『よくある質問(FAQ)』をページへ表示させたいです。
お力添えいただければ幸いです。

該当のソースコード

functions.php

// 2022/07/11 カスタム投稿「よくある質問」の追加 function custom_post_type_FAQ(){ $labels = array( 'name' => _x('よくある質問', 'post type general name'), 'singular_name' => _x('よくある質問', 'post type singular name'), 'add_new' => _x('よくある質問を追加', 'book'), 'add_new_item' => __('新しいよくある質問を追加'), 'edit_item' => __('よくある質問を編集'), 'new_item' => __('新しいよくある質問'), 'view_item' => __('よくある質問を編集'), 'search_items' => __('よくある質問を探す'), 'not_found' => __('現在、よくある質問はありません'), 'not_found_in_trash' => __('ゴミ箱によくある質問はありません'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => true, 'menu_position' => 4, 'supports' => array('title','excerpt','custom fields'), ); register_post_type('faq',$args); } add_action('init', 'custom_post_type_FAQ'); // 2022/07/11 カスタム投稿「よくある質問」の追加end

single

<!-- FAQのカスタム投稿を表示するコード --> <?php // カスタムフィールドの値を取得 $FAQfield = post_custom('FAQfield'); $FAQQuestion = post_custom('FAQQuestion'); $FAQAnswer = post_custom('FAQAnswer'); ?> <?php if ( !empty( $FAQfield ) ): ?> <div class="faq-box"> <?php if( $FAQfield == 1 ){ echo '<ul>'; echo '<li>'.$FAQQuestion.'</li>'; echo '<li>'.$FAQAnswer.'</li>'; echo '</ul>'; }else{ for( $i = 0; $i < $FAQfield; $i++ ){ echo '<ul>'; echo '<li>'.$FAQQuestion[$i].'</li>'; echo '<li>'.$FAQAnswer[$i].'</li>'; if( $i < $FAQfield -1 ){ echo '</ul>'; } } } ?> </div> <?php endif; ?> <!-- FAQのカスタム投稿を表示するコードend -->

試したこと

page.phpやsingle.phpのいずれかに以下のように記述しても表示されませんでした。

page.php,single.php

if( get_post_type() === 'faq' ){ get_template_part( 'single', 'faq' ); }

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。