サポート » 使い方全般 » 自作ショートコードの実行されるタイミングがおかしい

  • 解決済 4017B

    (@4017b)


    自作のショートコードを試してみた所、ショートコード自体は問題無く認識され動きましたが…何だか実行されるタイミングというか、順番がおかしいです。

    自作ショートコードは以下の通りで、

    function my_shortCodeTest() {
      printf( "<p>イイイイイ</p>\n" );
    }
    add_shortcode('my_shortcode_test', 'my_shortCodeTest');

    ~と言う風にテーマの function.php に追記し。適用させたページ(静的ページ)の本文には、

    あああああ
    [my_shortcode_test]

    ~とHTMLエディタで記述しました。

    しかし実際に表示されるページでは、

    イイイイイ
    あああああ

    ~となります。

    コレっておかしいですよね…?自分の見解が間違っていなければ、

    あああああ
    イイイイイ

    ~と言う順番に表示されなければならないと思うのですが…。何か自分のコード記述に間違いがあるのでしょうか?それともショートコードはまず最初に実行される仕様なのでしょうか??

    >使用環境:
    ・PHP 5.1.6 (Linux)
    ・WordPress 3.0.0
    ・テーマ :wp.Vicuna 2.0.3

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 4017B

    (@4017b)

    すいません。自己解決しました!

    先のコードを

    function my_shortCodeTest() {
      $myOutput = "<p>イイイイイ</p>\n";
      return $myOutput;
    }

    ~と言う風に直したら、ちゃんと本文に書き込んだ通りの順番で実行されました。

    どうやら printf() とかは呼び出された瞬間に、直ちに実行され結果が出力されるみたいですね。自分が非常に初歩的な勘違いをしていたみたいです…。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「自作ショートコードの実行されるタイミングがおかしい」には新たに返信することはできません。