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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

2091閲覧

Wordpress:Custom Field Suiteを使ってメイン画像を表示したい

puru999

総合スコア13

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/05/10 09:11

前提・実現したいこと

wordpressのテンプレート化に挑戦中です。
おおよそはできたのですが、なぜかフロントページが表示されず困っています。

問題点

Custom Field Suiteを使ってメイン画像を自由に入れ替えられるようにしたいのですが、
それまで表示されたいたフロントページ全体が、メイン画像より上の部分しか読み込まれなくなってしましました。検証ツールで確認するとメイン画像の直前までしか読み込まれておらず、肝心の<img>タグ以降何も読み込まれません。
実はテキストがきちんとあり、正解に近いデーターもあるため試したのですが、それでも同じ現象がおきてしまい、もしかするとコードが間違っているわけではなくほかの問題かなと思いそちらも試してみましたが、解決しませんでした。

何かほかに確認するべき箇所などありますでしょうか。
全く画面が表示されないまま何日も過ぎてしまい、本当に困っております。
初心者で本当に申し訳ございませんが、どなたかアドバイスをいただける方おられませんでしょうか。

該当のソース

html

1<?php get_header();?> 2 <!-- コンテンツエリア --> 3 <section id="contents"> 4 <!--メイン画像--><--!ここまでは検証ツールで読み込まれ、下のimgタグはよみこまれない--> 5 <img id="main_visual" class="inner" src="<?php echo CFS()->get('img_main_visual'); ?>" alt="テスト"> 6<!--お知らせ--> 7 <h2>Information</h2> 8 <div class="inner"> 9 <ul id="infolist"> 10 <?php 11 $posts=get_posts('numberposts=5&category_name=news'); 12 foreach($posts as $post){ 13 setup_postdata($post); 14 ?> 15 16 <li> 17 <div class="thumb"><?php the_post_thumbnail(); ?></div> 18 <div class="date"><?php the_time("Y/m/d") ?></div> 19 <div class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div> 20 <?php edit_post_link(); ?> 21 </li> 22 <?php 23 } 24 wp_reset_postdata(); 25 ?> 26 </ul> 27 <a class="readmore" href="<?php echo get_category_link(get_cat_ID('お知らせ')); ?>">一覧へ</a> 28 </div> 29 30以下続く。(PHPが記載されている範囲は以上です) 31 32

試したこと

①CFS()->get('img_main_visual')に記載しているimg_main_visualと管理画面のフィールドの名前があっているか確認済み

②src=の部分をPHPではなく直接URLを書き込むと画像は読み込まれる。が、やはりそれ以下は読み込まれない。ちなみにメイン画像を読み込めるようにしてもphpが入っていいない <h2>Information</h2>はやはり読み込まれない。

③正解データを入れても同じ現象がおきてしまう。

補足情報(FW/ツールのバージョンなど)

WordPress 5.1.1 を使用しております。

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

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

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

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

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

CHERRY

2019/05/10 10:59 編集

途中から真っ白になる場合は、どこかでエラーになっていると思います。 WordPress をデバッグモードにすると何かメッセージは表示されないでしょうか?
puru999

2019/05/10 11:18

ご連絡ありがとうございます! 早速デバックモードをググり試してみたのですが、特に変化がありませんでした。 ただ、メイン画像と同じ方法で上記のHTMLよりさらに下に画像を表示させるべくもう少しphpを書き足したところ以下のエラーが出てきました。ブラウザに出ました。 サンプル事業として3つ窓が並ぶようなイメージで作ってあったところの画像3つをやはり同じカスタムフィールドスイートを使ってトライしたものです。 長いので2つ目分までを記載しました。 Fatal error: Uncaught Error: [] operator not supported for strings in C:\xampp\htdocs\wp_local_01\wp-content\plugins\custom-field-suite\includes\api.php:136 Stack trace: #0 C:\xampp\htdocs\wp_local_01\wp-content\plugins\custom-field-suite\includes\api.php(42): cfs_api->get_fields(130, Array) #1 いろいろ調べてみたのですが、PHPのバージョン??の問題でしょうか? できるだけ簡単に処理したいのですが、(まだ初心者のため。。)ほかのプラグインに変えたほうがよいのでしょうか? お手数をおかけし本当に申し訳ありません。 ご確認いただけますと助かります。
puru999

2019/05/10 11:21

すみません、書き足した部分のコードです。 ```html <!--サンプル事業内容--> <h2>サンプル事業内容</h2> <div id="our-business" class="inner"> <div class="biz-box col-4"> <h3><?php echo CFS()->get('txt_business1'); ?></h3> <a href="business.html"><img class="photoframe" src="<?php echo CFS()->get('img_business1') ?>" alt="<?php echo CFS()->get('txt_business1'); ?>"></a> </div> <div class="biz-box col-4"> <h3><?php echo CFS()->get('txt_business2'); ?></h3> <a href="business.html"><img class="photoframe" src="<?php echo CFS()->get('img_business2') ?>" alt="<?php echo CFS()->get('txt_business2'); ?>"></a> </div> <div class="biz-box col-4"> <h3><?php echo CFS()->get('txt_business3'); ?></h3> <a href="business.html"><img class="photoframe" src="<?php echo CFS()->get('img_business3') ?>" alt="<?php echo CFS()->get('txt_business3'); ?>"></a> </div> </div> ```
puru999

2019/05/10 11:54

すみません、大事なことを書き忘れました。 最初のコードは全く表示されないので、お手本のHTMLから載せ替えの途中版でフロントページが表示されているものをもう一度選んで挑戦していました。トップ画像は直接URLが指定されているやり方なのでCustom Field Suiteを使用せず、最後の追加でお知らせした部分のみにCustom Field Suiteが適応されている状態です。 それで上記のエラーが表示されました。。 たびたびお時間をとらせてしまい本当に申し訳ありません。
guest

回答1

0

自己解決

ご確認くださったCHERRY様、その他見てくださった方々、おられましたらまことにありがとうございました!
奇跡かと思うぐらいびっくりなのですが、解決できました!!悩んだのが信じられないです。

方法を記載しておきます。

SiGT WebStudio
横浜のフリーランスWeb制作者様のブログ、下記の欄(リンク)に解決方法がありました。

ブログ内容はこちら

①api.phpを開く。
②該当行を確認する
$field_data[$hierarchy][] = $result->meta_value;
③これを以下に書き直す。
$this->assemble_value_array($field_data, $hierarchy, $field, $result->meta_value);

保存して確認すると無事表示されました!!
CHERRY様、お声がけありがとうございました。心が折れずにすみました涙。

投稿2019/05/10 13:51

puru999

総合スコア13

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問