ショートコードの表示がページ上部にしか出てこないときの解決策

ショートコードの表示がページ上部にしか出てこないときの解決策

ショートコードで固定ページ内に表示しようとしたとき、記事の上部にしか出てこないときの解決策です。

下記のようなショートコードだとページ上部にしか表示できませんでした。

function shortcode_sample(){
 echo "ショートコードで表示する文字です。";
}

add_shortcode('sample','shortcode_sample');

作成した[sample]ショートコードを固定ページの一番下に記入しても表紙したページの一番上に文字が出てきてしまいます。

原因と解決策

原因は関数内でechoを使用していることでした。

echoで一部を出力していると、ショートコードがwp_contentのフィルターを通る時にショートコードを出力してしまう事が原因のようです。

HTMLのソースコードを変数を使用してreturnすることで解決できました。

function shortcode_sample(){
 $sample-text = "ショートコードで表示する文字です。";
 return $sample-text;
}

add_shortcode('sample','shortcode_sample');
Share on Twitter
関連記事
SEOPressでタイトルが表示されない時の解決策
SEOPressでタイトルが表示されない時の解決策
WordPressのSEO対策プラグインAll in One SEOの使い方
WordPressのSEO対策プラグインAll in One SEOの使い方
WordPressで記事の公開日と最終更新日を表示する方法
WordPressで記事の公開日と最終更新日を表示する方法