WordPressテーマSANGOの質問

吹き出しショートコードをカスタマイズしたい

アバター
tomoトモ

使い心地とみやすさの素晴らしいテンプレートをありがとうございます。

「会話吹き出し」で表示されるimg タグにalt タグを入れたく、 style-shortcode.php を拝見いたしました。

当方にて変更はできそうなのですが、親テーマなので、アップデート後上書きされるかと思い躊躇しています。

子テーマ側で制御できないかどうか調べているとこですが、そのようなことは可能なのでしょうか。

SANGOのショートコード一覧
SANGOのショートコード一覧
コメントへの回答
サルワカくん
サルワカくん
2018/02/21

お世話になっております。
その場合、別のショートコードを作った方が何かと自由に編集出来て良いかと思います。
子テーマのfunctions.phpに以下のコードを貼り付ければ、saybという名前のショートコードで吹き出しが使えるようになります。
(機能はsayと同じ。★の部分にaltテキストを入れればOKです。)

/*********************
新会話ふきだし
*********************/
add_shortcode('sayb','say_what_new');
function say_what_new($atts, $content = null) {	if($atts) {	$img = (isset($atts['img'])) ? esc_url($atts['img']) : null;	$name = (isset($atts['name'])) ? esc_attr($atts['name']) : '';	if(isset($atts['from'])){	$from = ($atts['from']=="right") ? "right" : "left";//入力が無ければleftに	} else {	$from = "left";	}	if($img && $from =="right"){//右に吹き出し	$output = <<<EOF	<div class="say {$from}">	<div class="chatting"><div class="sc">{$content}</div></div>	<p class="faceicon"><img src="{$img}" alt="★"><span>{$name}</span></p>	</div>
EOF;	} else {//左に吹き出し	$output = <<<EOF	<div class="say {$from}">	<p class="faceicon"><img src="{$img}"><span>{$name}</span></p>	<div class="chatting"><div class="sc">{$content}</div></div>	</div>
EOF;	}//endif	return $output;	}// endif $atts
}
アバター
tomoトモ
2018/02/23

誠にありがとうございます!シンプルな解決方法に頭があがりません。
こねくりまわしておりました。

それぞれのショートコードを吐き出す毎に、alt を変更したく
$alt = (isset($atts['alt'])) ? esc_attr($atts['alt']) : '';

を加えました。

いちいち面倒ですが、AddQuicktag に登録するのでそんなに変わらないかと思います。

ありがとうございます。

サルワカくん
サルワカくん
2018/02/23

柔軟に使える形になっていて良いですね!
たしかにAddQuickTagも合わせておけば、なお楽になりそうです。
ご報告ありがとうございました。