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

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

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

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

Q&A

解決済

1回答

4234閲覧

wordpressで複数画像出力(krc-cast-manager)

awazon78

総合スコア32

WordPress

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

0グッド

0クリップ

投稿2016/08/25 17:22

編集2016/08/26 16:51

krc-cast-manager*というプラグインを使用してカスタムフィールドに登録した画像(複数)を出力させるのにてこずっています。。
*krc-cast-managerは簡単に言うとキャストをカスタム投稿タイプで登録して、カスタムフィールドに画像や出退勤表などを簡単に挿入出来るプラグインです。

肝心の画像を出力させる部分は公式サイトから抜粋しますが

基本的に【krc_cast】というカスタム投稿タイプとして作成されており、タイトル・本文は通常の投稿や固定ページと同じように使用できます。

・キャスト画像
画像アップローダーを使用してキャスト画像をアップロードして下さい。画像は複数アップロードでき、アップロードした画像はドラッグアンドドップで並び替えが可能です。
登録した情報はpost_idに紐付けられpostmetaテーブルに下記の様に保存されます。
[“http://aaa.aa/wp-content/uploads/2015/03/176212385754c3b7a63dc88.jpg”,”http://aaa.aa/wp-content/uploads/2015/03/57253755254f199358bcf6.jpg”,”http://aaa.aa/wp-content/uploads/2015/03/485570105426cb9604e66.jpg”]

書いてあります。
実際僕が書いてるソースは
###該当のソースコード

php

1 <?php 2 $wp_query = new WP_Query(); 3 $param = array( 4 'posts_per_page' => '-1', //表示件数。-1なら全件表示 5 'post_type' => 'krc_cast', //カスタム投稿タイプの名称を入れる 6 'post_status' => 'publish', //取得するステータス。publishなら一般公開のもののみ 7 'orderby' => 'ID', //ID順に並び替え 8 'order' => 'DESC' 9 ); 10 11 $wp_query->query($param); 12 13 if ($wp_query->have_posts()): while ($wp_query->have_posts()) : $wp_query->the_post(); 14 ?> 15 <li> 16 <ul> 17 <li>タイトル : <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 18 <li>画像 : <img src="<?php echo the_field('_krc_cast_screens'); ?>" alt="" /> </li> 19 <li>カスタムのネーム : <?php echo post_custom('_krc_name'); ?></li> 20 21=====以下省略

そうすると画像のところは

["http://tokyo.clubs-nagoya.com/wp-content/uploads/2016/08/YLn3r.jpg", "http://tokyo.clubs-nagoya.com/wp-content/uploads/2016/08/big-boobs-ship1_15.jpg", "http://tokyo.clubs-nagoya.com/wp-content/uploads/2016/08/mig.jpg"]"

の様に表示されてしまいます。(見やすくするため , で改行しています)

[""]で囲まれいて、なおかつ画像のパスが全て入っています。

この画像をうまく表示したいのですがどうしたらいいでしょうか?

ちなみに画像以外は上手く表示されています。

ちなみに最初の一枚だけ表示できれば大丈夫です。
もし可能であれば個別ページですべての画像を表示できるようにもしたいです。

よろしくお願いします

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

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

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

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

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

kei344

2016/08/25 19:12

「公式サイトから抜粋しますが 」に続くコードブロックは通常の文章として表示されるか、全てが引用であるなら「> 」を先頭につけて引用にしていただけませんか?
awazon78

2016/08/26 01:15

通常の文章にしました。よろしくお願いします
kei344

2016/08/26 15:03

こちらの環境では変更/修正が確認できませんでした。すみませんが、もう一度確認してもらえませんか?最近teratailで修正が保存されない事がたまにあるようなので・・・。
guest

回答1

0

ベストアンサー

_krc_cast_screensの値は、画像URLの配列をjson_encodeにかけて
ひとまとめの文字列にしてあるようで(管理上の都合か、レコード数の節約だと思います)
これを再びPHPで利用可能な形に戻すにはjson_decodeにかける必要があります。

php

1// 古いバージョンのPHPだとダメかもしれない 2<?php $screen = json_decode(get_field('_krc_cast_screens'), true)[0]; ?> 3 4// その場合こっちで(やっていることは同じです) 5<?php 6$krc_cast_screens = get_field('_krc_cast_screens'); 7$screens = json_decode($krc_cast_screens, true); 8$screen = $screens[0]; 9?> 10 11// 出力 12<li>画像 : <img src="<?php echo $screen; ?>" alt="" /> </li>

これでPHPで扱える普通の配列になっているので、foreachするなり
$screens[0]で先頭のURLだけ使うなり好きにできます。


試しに_krc_cast_screensで検索してみたら、プラグインの作者さんが書いた
サンプルページがヒットしました。すでにご確認済みかもしれませんが一応リンクしておきます。

https://kurubusi.net/products/sample/sample_krc-cast-manager/

投稿2016/08/26 14:36

編集2016/08/27 02:13
nnssn

総合スコア1221

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

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

awazon78

2016/08/26 16:54

回答ありがとうございます!なかなかうまく表示されないですね。 試しにサンプルページをそのまま使用してみたのですが、うまく表示できません。。 ちなみに私は、twentysixteenを元にテーマを作成していて、home画面を編集しています。 home.phpにそのままサンプルコードを張り付けてみたのですが表示されませんでした。(質問のところに書いたコードでは表示できます。) もしかしたらfunction.phpとかでバッティングしてるのでしょうかね。。
nnssn

2016/08/27 02:07 編集

すみません、回答に1箇所間違いがあったので編集しました。 (get_fieldとするべきところをthe_fieldにしていました) この内容でもう一度試してみてください。
awazon78

2016/08/27 02:33

おおおおおおおおおお出来ました! 初心者の私にわかりやすく説明していただいて、本当にありがとうございます! またお世話にかもしれませんので、その時はよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問