*

WordPress STINGER3 を使っていてショートコードが見えちゃって嫌な場合の対処法(簡易版)


ちわ、秋田@豊作(@housakuakita‎)です。

スクリーンショット 2013-09-06 10.32.40

 

本ブログも「SEO対策に強い無料WordPressテーマ「Stinger」」を有り難く使わせて頂いてます。

@ENJILOG さんに感謝です。

さて、現在「STINGER3」を使わせてもらっているのですが、ループする箇所にショートコードがそのまま出ちゃいます。流石にいやだなぁ〜と思いちょっとだけカスタマイズしてみました。

スクリーンショット 2013-09-06 10.03.16

※以下記載するファイル名は STINGER3 のテーマフォルダー下のファイル名になります。

functions.php に以下を追記する

//ショートコードを外す
function akita_noshotcode($content){
    $rtn = "";
    preg_match("/\[.+?\]/",$content,$retArr);
    $rtn = str_replace($retArr[0],'',$content);
    return $rtn;
}

関数名は他の関数となるべく当たらないような名前にする為に akita_ と入れてあります。

次に

sidebar.php
archive.php
home.php
single.php

のそれぞれのファイル内の(他にもあるかも・・・)

strip_tags($post-> post_content)
となっている箇所を

strip_tags(akita_noshotcode($post-> post_content))
と書き換えます。

これでループしている箇所にある投稿の頭にショートコードが書いてあっても見せなくする事が出来ます。

スクリーンショット 2013-09-06 10.04.07

めでたしめでたし。

できれば次回のバージョンアップ時にショートコードが見えないような対処をして頂けると嬉しいです。

 

追記

 

Stinger3 が正式に公開されたようですね。対応してるかなぁ〜(stinger3ver20130906 では対応なかったようです)

Stinger3の正式公開

2013/09/06 | PHP, wordpress, 便利メモ

新着記事

明けましておめでとうございます。靖国神社へ初詣に。

新年明けましておめでとうございます。 本年もよろしくお願い致します。一...

記事を読む

本年もありがとうございました。来年もよろしくお願いします。

本年も公私共にありがとうございました。来年もよろしくお願いします。まあ...

記事を読む

MacBook Pro の USB-C 問題。ひとまず落ち着いたかな・・・

今年も早いもので12月も26日。あと5日ですか・・・すぐにお正月ですね...

記事を読む

沖縄へ行こう ロンドン100連発[97/100]

気がついたら12月も12日。あっという間に時間が過ぎていきます。毎度こ...

記事を読む

伊豆下田へ行こう ロンドン100連発[96/100]

ポケモンGO!、なんとか国内コンプリートしました。やっとこさです。そし...

記事を読む

コメント/トラックバック (8件)

トラックバック用URL:

コメントフィード

  1. Stinger3テーマの抜粋記事のショートコード表示を非表示にする対策
    WordPressのテーマ「Stinger3」にて、トップのページやサイドバーに表示されている抜粋記事に、ショートコードがそのまま表示されるので嫌だなぁと思ってました。
      これを解決する下…

  2. […] WordPress STINGER3 を使っていてショートコードが見えちゃって嫌な場合の対処法(簡易版) […]

  3. […] これのエントリーはこちら「WordPress STINGER3 を使っていてショートコードが見えちゃって嫌な場合の対処法(簡易版)」 […]

  4. 夜分遅くに突然の書き込み申し訳ありません。

    WordPressのBlog一覧にて囲み式のショートコードを表示出来ない様にしたいのですがどの様にしたら消せるか困っております。

    もしよろしければご回答頂けませんでしょうか?

    Blog一覧にはコンテンツの一部を表示させる様にしているのですが下記のキャプションのショートコードが消えません。
    [caption id="attachment_2000" align="alignleft" width="189"]画像のキャプション文字[/caption]

    なのでまずこちらの記事を参考にしながらBlog一覧表示のloop.phpにてコンテンツ出力のコードを以下の様に記述しました。
    post_content, ‘UTF-8’)>200){
    $content= mb_substr(strip_tags(akita_noshotcode($post->post_content, ”)), 0, 200, ‘UTF-8’);
    echo $content.”;
    }else{
    echo strip_tags(the_content(), ”);
    }
    ?>

    続いて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(“/\[.+?\]/”の部分を書き換えてショートコードの終了タグを消すことは出来ますでしょうか?

    お忙しいと思いますが、もしよろしければご回答宜しくお願い致します。

  5. luvjapan さん、すでに解決してるかもしれませんが、 お察しの通り「preg_match(“/\[.+?\]/”」ここの正規表現で解決出来ると思います。
     
    今、別件で手を離せないので確認してはいませんが、「preg_match(“/\[\/.+?\]/”」これで行けるかなと・・・「\/」を追記しています。
     
    試してみてください。

  6. おはようございます。
    お忙しい中、ご回答ありがとうございます。
    akitaさんのご教授の通り追記しましたら成功致しました。

    以下のコードを追記しました。

    preg_match( “/\[.+?\]“,“/\[\/.+?\]/“

    本当に助かりました。

    これからもブログ読ませていただきます。

    ありがとうございました。

  7. 度々すみません。
    先ほどのコードはショートコードも消えますが本文も一緒に消えてしまいますので自分の思った表示はできませんでした。なので
    $content = strip_shortcodes( $content );にて対応致しました。
    アドバイスありがとうございました。

  8. うまくいったようでよかったです。
    これからもよろしくお願いします。




管理人にのみ公開されます

*

8月30日 ソロギタリスト IN 梅若能楽堂学院会館「出音一番勝負」
Stinger Advent Calendar 2013
ネットショップは豊作カートで
明けましておめでとうございます。靖国神社へ初詣に。

新年明けましておめでとうございます。 本年もよろしくお願い致します。一...

本年もありがとうございました。来年もよろしくお願いします。

本年も公私共にありがとうございました。来年もよろしくお願いします。まあ...

MacBook Pro の USB-C 問題。ひとまず落ち着いたかな・・・

今年も早いもので12月も26日。あと5日ですか・・・すぐにお正月ですね...

沖縄へ行こう ロンドン100連発[97/100]

気がついたら12月も12日。あっという間に時間が過ぎていきます。毎度こ...

伊豆下田へ行こう ロンドン100連発[96/100]

ポケモンGO!、なんとか国内コンプリートしました。やっとこさです。そし...

→もっと見る

PAGE TOP ↑