• 解決済 developer

    (@6flat)


    function moretag_custom($content) {
    
        if (is_page() || is_single()) {
            $content = preg_replace('/<p><span id="more-([0-9]+?)"><\/span>(.*?)<\/p>/i', "\n<div id=\"more-$1\" class=\"my_class\">\n[my_template]\n</div>\n$2", $content);
        }
        return $content;
    }
    
    add_action('the_content', moretag_custom, 100);

    上記コードで[my_template]の部分に別に作成したテンプレートを挿入したいのですが、どの様にすればよいか分かりません
    何か良い方法または参考になるようなものがあればお教え頂けると助かります

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 別に作成したテンプレートを挿入したい

    が理解できないのですが・・・

    [my_template]


    「続く…」とか「continue」などの任意の文字やタグなどを指定するみたいです。

    トピック投稿者 developer

    (@6flat)

    taikikenさん
    分かり辛くてすみません

    その[my_template]の箇所に、別途作成したexample.phpといったテンプレート(htmlやjavascriptなど含んだもの)を挿入して表示させたいという事です
    そのままincludeで挿入しようとしたら、その記述が単純に文字(includeを含めた)として出力されてしまったりするので困っています

    また、get_extendedでほぼ同様の事が出来るのは分かったのですが、ループが挿入されないので(また挿入の仕方が良く分からないため)出来れば使いたくありません
    自分の知識不足故に多分に勘違いしているところや適切に伝わっていないところがあると思いますが、ご助力頂ければ幸いです

    $content = preg_replace(
      '/<p><span id="more-([0-9]+?)"><\/span>(.*?)<\/p>/i',
      "\n<div id=\"more-$1\" class=\"my_class\">\n"
        . my_more_content()
        . "\n</div>\n$2", $content);

    などと変更して

    functions.php に以下のようなことを書けば OK。

    function my_more_content(){
      /* example.php の内容を return するように書きます */
      $more_content = '
      <strong>more !!!!!</strong>
      ';
    
      return $more_content;
    }

    トピック投稿者 developer

    (@6flat)

    kzさん
    提示して頂いた内容で無事解決しました
    ありがとうございます

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「functions.phpでmoreリンク先の空要素に任意のテンプレートを挿入したい」には新たに返信することはできません。