WordPressで画像をいれるカスタムフィールドを作成し、functions.phpでその画像のurlを取得し固定ページ内で表示させる用のショートコードを作成しました。
しかし、1つの固定ページに3つの画像用ショートコードを入れた場合、1つ目(gallery1)だけコードが崩れてしまい画像が表示されなくなるという事象が起きています。
WordPressのビジュアルエディタにした際の自動整形のせいかと思ったのですが、自動整形なら3つともコードが崩れるから違うのかなーと悩んでいます。
こういう可能性があるなどありましたら、お力添えしていただければ助かります。
カスタムフィールド名
gallery1
gallery2
gallery3
の3つを作成
functions.php
function galleryimg() { $img_id = get_field('gallery1'); $img = wp_get_attachment_image_src($img_id,'full'); return $img[0]; } add_shortcode('gallery1', 'galleryimg'); function galleryimg2() { $img_id = get_field('gallery2'); $img = wp_get_attachment_image_src($img_id,'full'); return $img[0]; } add_shortcode('gallery2', 'galleryimg2'); function galleryimg3() { $img_id = get_field('gallery3'); $img = wp_get_attachment_image_src($img_id,'full'); return $img[0]; } add_shortcode('gallery3', 'galleryimg3');
固定ページ内
<ul> <li><img src="[gallery1]" alt="#" /></li> <li><img src="[gallery2]" alt="#" /></li> <li><img src="[gallery3]" alt="#"/></li> </ul>
崩れた場合(追記)
<ul> <li><img src="$lt;gallery1."$gt;>.alt="#"</li> <li><img src="[gallery2]" alt="#" /></li> <li><img src="[gallery3]" alt="#"/></li> </ul>
出力コード(○○○にはドメイン名が入ります)
<ul> <li><img src="http://○○○/wp-content/uploads/2016/10/img_test.jpg"/></li> <li><img src="http://○○○/wp-content/uploads/2016/10/img_test2.jpg" /></li> <li class="mr0"><img src="http://○○○/wp-content/uploads/2016/10/img_test3.jpg" /></li> </ul>
=== 追記 ===
崩れた場合gallery1だけが表示されなくなり、他2つは問題なく表示されます。
すみません、functions.phpの提示コードに誤りがありましたので修正しました。
以前も同じことが起き、正しいショートコードに修正したら、何回やってもコードが崩れるということが起きなくなったのですが、今回なぜかまた起きてしまいました。
[gallery1]の行を消してどうなるか試してみたいのですが毎回起こることではないので試せない状況です。
回答1件
あなたの回答
tips
プレビュー