Blog一覧にて囲み式のショートコードを非表示にしたいです。
-
WordPressのBlog一覧にて囲み式のショートコードを表示出来ない様にしたいのですがどの様にしたら宜しいでしょうか?
検索しても自分の探している答えが見当たらず困っております。Blog一覧にはコンテンツの一部を表示させる様にしているのですが下記のキャプションのショートコードが消えません。
[caption id="attachment_2000" align="alignleft" width="189"]画像のキャプション文字[/caption]なのでまずhttp://obrigado.biz/post-2213/を参考にしながらBlog一覧表示のloop.phpにてコンテンツ出力のコードを以下の様に記述しました。
<?php
if(mb_strlen($post->post_content, ‘UTF-8’)>200){
$content= mb_substr(strip_tags(akita_noshotcode($post->post_content, ‘<p>
<span>’)), 0, 200, ‘UTF-8’);
echo $content.”;
}else{
echo strip_tags(the_content(), ‘<p>
<span>’);
}
?>続いてfunctions.phpにショートコードを非表示にする為に以下を記述しました。
//ショートコードを外す
function akita_noshotcode($content){
$rtn = “”;
preg_match(“/\[.+?\]/”,$content,$retArr);
$rtn = str_replace($retArr[0],”,$content);
return $rtn;
}すると[caption]までのショートコードは消えるのですが以下の
画像のキャプション文字[/caption]までが消えないで表示されたままです。囲み式のショートコードを消すにはどの様にfunctions.phpに記述すれば宜しいでしょうか?
例えばpreg_match(“/\[.+?\]/”の部分を書き換えてショートコードの終了タグを消すことは出来ますでしょうか?
また、このやりかたですと<p>
<span>も結局無効になってしまいます。コンテンツの文章を<p>
<span>タグを有効にしつつ囲み式のショートコードを非表示にする方法があれば教えていただければ助かります。ご回答宜しくお願い致します。
- トピック「Blog一覧にて囲み式のショートコードを非表示にしたいです。」には新たに返信することはできません。