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

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

ただいまの
回答率

90.48%

  • PHP

    24451questions

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

  • WordPress

    9098questions

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

  • CMS

    178questions

    CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

【困】wordpressカスタムフィールド出力エラーについて

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,369

hiroaki_sato

score 28

初めましてどなたか意味合いが分かる方お答え頂ければ幸いです。

問題点:
・wordpressのカスタムフィールド柔軟ボックスの表示が出来ない
管理画面側:画像イメージをロ登録後更新画像が消える
ユーザー画面サイト側:エラー分が出力される
※補足として現在こちらエラーが出ているサイトは
日本語のサイトの元のサイトが有り、そちらをまるごとコピーをして
置き換えたサイトになります。
日本語のサイトに関してはこのようなエラーは出てきておりません。

エラー文:
一枚画像出力箇所
Warning: reset() expects parameter 1 to be array, boolean given in /ディレクトリ/ファイル名.php

スライダー画像サムネイル出力箇所&大画像出力箇所に同様の下記エラー文
Warning:  Invalid argument supplied for foreach() in

画像を出力する箇所にこのようなエラーが発生しております。

色々ファイルを見てみたのですが
完全にお手上げです。

このようなエラー自体が初めてで調べては見たのですが
どうも上手く行きません。

下記試してみましたが試し方も
あっていたのか間違っていたのか分からないのですが
参考にさせていただいたサイトのURLを記載いたします。

【Takumi Hirashima Artworks様】
http://hirashimatakumi.com/blog/3028.html
※該当phpファイルを修正いたしましたが改善されませんでした。

【WP-kyoto様】
https://wp-kyoto.net/php-warning-invalid-argument-supplied-for-foreach-in/
※こちらは試したのですがエラー内容は特に改善されませんでした。
該当のphpファイルを修正した形です。

下記該当phpのコードです。

<div class="sec-inner wrapper-plus">
    <h2 class="sec-ttl"> <span class="en ft-sans"><?php echo get_field('heading_en')?></span> <span class="jp"><?php echo get_field('heading_jp')?></span> </h2>
    <div class="sec-cont">
      <h3 class="title"><?php echo $heading;?></h3>
      <p class="text"> <?php echo $body;?> </p>
      <div class="block-room01">
        <div class="top-img"> <img src="<?php echo get_field('large_image')?>" alt=" "> </div>
        <div class="room-detail">
          <?php

                    if( have_rows('flexcontents_room') ):

                     while ( have_rows('flexcontents_room') ) : the_row();

                    ?>
          <?php  if( get_row_layout() == 'content' ):

                        $heading     = get_sub_field('heading');

                        $body         = nl2br(get_sub_field('body'));

                    ?>
          <div class="content">
            <h3 class="title"><?php echo $heading;?></h3>
            <p class="text"> <?php echo $body;?> </p>
          </div>
          <?php endif; ?>
          <?php endwhile; ?>
          <?php endif; ?>
        </div>
        <div class="room-detail">
          <?php

                    if( have_rows('flexcontents_room') ):

                     while ( have_rows('flexcontents_room') ) : the_row();

                    ?>
          <?php  if( get_row_layout() == 'gallery' ):

                        $images = get_sub_field('images');

                        $image = reset($images);

                    ?>
          <div class="gallery-images clearfix">
            <ul class="large room_slider">
              <?php $l=0;foreach($images as $im){?>
              <li <?php if($l==0){?>class="current" <?php } ?> ><img src="<?php echo $im['image']?>" alt=" "></li>
              <?php $l++;} ?>
            </ul>
            <ul class="list-thumbnails room_thumb">
              <?php $l=0;foreach($images as $im){?>
              <li <?php if($l==0){?>class="current" <?php } ?> ><img src="<?php echo $im['image']?>" alt=" "></li>
              <?php $l++;} ?>
            </ul>
          </div>
          <?php  elseif( get_row_layout() == 'content' ):

                        $image         = get_sub_field('image');

                        $details     = nl2br(get_sub_field('details'));

                        $items         = nl2br(get_sub_field('items'));

                    ?>
          <div class="content">
            <div class="content-post-img clearfix">
              <div class="thumb"> <img src="<?php echo $image;?>" alt=" "> </div>
              <div class="cont ft-sans">
                <div class="item">
                  <h4 class="title-item">【テキスト】</h4>
                  <p class="text"><?php echo $details;?></p>
                </div>
                <div class="item">
                  <h4 class="title-item">【テキスト】</h4>
                  <p class="text"><?php echo $items;?></p>
                </div>
                <?php if(get_field('rooms_plan')):?>
                <a class="room_plan btn-com trans2 ft-sans" href="<?php echo get_field('rooms_plan');?>"><span>リンク先</span></a>
                <?php endif; ?>
              </div>
            </div>
          </div>
          <?php if(get_field('room_360_url')): ?>
          <div class="mod-spa-btn"> <a class="btn-arrow trans2" target="_blank" href="<?php echo get_field('room_360_url');?>"><span>リンク先</span></a> </div>
          <?php endif; ?>
          <div class="block-ct wrapper mt50">
            <div class="mod-com-post">
              <div class="post clearfix">
                <div class="cont">
                  <h3 class="ttl">テキスト</h3>
                  <div class="txt">テキストテキストテキストテキストテキストテキストテキスト<br />
                    テキストテキストテキストテキストテキストテキストテキスト<br />
                    テキストテキストテキストテキストテキストテキストテキスト<br />
                    テキストテキストテキストテキストテキストテキストテキスト<br />
                    テキストテキストテキストテキストテキストテキストテキスト</div>
                </div>
                <div class="thumb"> <img src="sample.jpg" alt="" /> </div>
              </div>
            </div>
            <?php  elseif( get_row_layout() == 'list-room' ):





                        $rooms     = get_sub_field('rooms');







                    ?>
            <ul class="list-room clearfix">
              <?php foreach($rooms as $r){?>
              <li>
                <h3 class="title"><?php echo $r['heading']?></h3>
                <div class="thumb"> <img src="<?php echo $r['image']?>" alt=" "> </div>
              </li>
              <?php } ?>
            </ul>
            <?php  endif;endwhile;endif;?>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>
<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>/js/slick/slick.css">
<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>/js/slick/slick-theme.css">

【管理画面カスタムフィールドの名前】

1.
heading_en

2.
heading_jp

3.
rooms_plan

4.
large_image

5.※フレキシブルコンテンツ
flexcontents_room

(1)=============

レイアウトーーー gallery
フィールド名ーー images
フィールドタイプ 繰り返しフィールド

サブフィールド>フィールド名>image

(2)==============

レイアウトーー content

  1.   heading
  2.   body
  3.   image
  4.   details
  5.   items

(3)==============
レイアウトーー list-room
フィールド名ーー rooms
フィールドタイプ 繰り返しフィールド

サブフィールド>フィールド名1>heading
サブフィールド>フィールド名2>image

6.
room_360_url

以上となります。
どなたかわかりますようでしたらぜひお答えお願いいたします。
よろしくお願いいたします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

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

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

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

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

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/22 13:08

    ありがとうございます。
    こちらベースとなるサイトの方では
    文法等間違えている?ものも機能としては動いておりまして
    おかしいなと思っていたのですが
    どうやらデーターベース関連の部分がおかしかったようです。
    今後は頂戴した正しいやり方方法をしっかり実践していきながら
    今後の参考にさせて頂きます。
    ありがとうございました。

    キャンセル

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

  • PHP

    24451questions

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

  • WordPress

    9098questions

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

  • CMS

    178questions

    CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。