twentysixteenなどのデフォルトテーマに切り替えるとどうなりますか?
また、ギャラリーを挿入などの手順でなく、手入力の場合は書式が正しいかご確認ください。画像IDの指定(ids)など。
https://wpdocs.osdn.jp/ギャラリーショートコードの使い方
ikaring 様
回答ありがとうございます。twentysixteenなどのデフォルトテーマに切り替えた時は問題なく表示されます。どうやら管理画面の投稿や固定ページの作成画面でショートコードを使った時にそのまま表示されてしまいます。固定ページは下記のように出力しています。
(それぞれのテーマファイル)
<!-- 3列レイアウト STRAT -->
<div class="commonbox clearfix">
<div id="perthgallery" class="clearfix">
<?php
$posts = get_posts('numberposts=1000&category_name=hoge');
global $post;
if($posts): foreach($posts as $post): setup_postdata($post);
?>
<li> <a href="<?php the_permalink(); ?>" style="float:left; margin-right:10px;">
<?php the_post_thumbnail(array(300,auto)); ?>
</a>
<p class="ttl-perth"> <a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a> </p>
<div class="bassui">
<?php the_excerpt(); ?>
</div>
</li>
<?php endforeach; endif; ?>
</div>
<!-- 3列レイアウト END -->
投稿ページはいかのように(single.php)
<?php
$page = get_post($page_info);
echo apply_filters( 'the_content', $post -> post_content );
?>
テーマファイルに直接記入した場合は表示されます。管理画面からの投稿でショートコードを有効にしたいのですが、うまくいかずです・・・なにかfunctions.phpに記載しないといけないのでしょうか・・・
それぞれのテーマファイルというのがどのようなファイルなのか分からないですが、the_excerptを使っているのであれば、[gallery]ショートコードについては表示されないはずです。ギャラリーイメージもショートコード自身もです。
一方、登録されていないショートコード同様の書式(たとえば[hoge])についてはそのまま表示されるようです。
可能性としてですが、テーマのfunctions.phpなどでremove_shortcodeされてないでしょうか?
single.phpについては、通常のループを使わずにget_postされているのはなぜでしょうか。
$post -> post_contentはショートコードが適用されないのではないかと思いますよ。
通常のループでthe_contentで表示ではだめでしょうか。
ikaring 様
いろいろヒントを頂きましてありがとう御座います。さきほど解決しました。
functions.phpにショートコードの記述をしていなかった事、
add_filter( 'gallery ids', 'do_shortcode' );
ikaring 様のご指摘通り画像IDの指定(ids)が抜けていました。
本当に感謝です。ありがとうございました。
解決とのことで良かったですが、下記フィルターは何をしてるんでしょうか?必要ですか?
add_filter( 'gallery ids', 'do_shortcode' );
!ほんとですね!
削除してみたら普通にうごきました!
もはや最初のトラブルの原因がわからなくなってしまいました・・・
ちゃんとうごきましたので大満足です。
ikaring 様 ありがとうございました。