WordPressでフィード配信するときにショートコードを無効にする方法

WordPressでフィード配信するときにショートコードを無効にする方法

エリカ

エリカ

フィードの場合はショートコードを無効にするには?

それでは、どのようにショートコードを操作すればいいのでしょうか?
例えば下記の2つの方法はどうしょうか。

  • フィードの場合は展開しないショートコードにする
  • フィードの場合は、ショートコードを取り除くフィルターフックを設定する

それぞれ見ていきましょう。

フィードの場合は展開しないショートコードにする

ショートコード内で、フィードのときは何もしないように変更します。

function footag_func ($atts) {
    if (is_feed()) return ''; // フィードの場合は何も返さない。
    return 本来の処理
}
add_shortcode('footag', 'footag_func');

フィードの場合は、ショートコードを取り除くフィルターフックを設定する

フィードの場合は、本文を取得する際のフィルターフックでショートコードの記述を取り除くようにします。

function foo_func ($content) {
    if (is_feed()) {
        $content = strip_shortcodes($content);
    }
    return $content;
}
add_filter('the_content', 'foo_func');

すべてのショートコードを無効にしたい場合などは後者、ショートコードによって有効無効を細かく調整したい場合は前者といった感じでしょうか。
ただし、プラグインで実装されたショートコードの場合は、前者の方法だと難しいときがあるかもしれません。

さいごに

適切なフックを見極めることはとても大事なので、気をつけてみてください。
それでは。

 

【WordPressでお困りのことはありませんか?】

WordPressのカスタムフィールドを利用して、過去記事の公開日時を自動で変更する方法

WordPressで「preview」すると「not found」になるときの対処法

WordPressの記事内の画像をData URIで扱ってサイトを高速化させる方法

WordPressでURLやタイトルなどから記事情報を取得する方法

アップデートしても大丈夫!WordPressの子テーマでデザインのカスタマイズをする方法

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

ディレクターのエリカです。趣味は美術鑑賞で、絵画や展示などたくさんの作品を眺めるのが好きです。得意料理は「鍋」です。よろしくお願いします。

このメンバーの記事をもっと読む
デザイン力×グローバルな開発体制でDXをトータル支援
お問い合わせ 会社概要DL