フォーラム

[解決済み] functions.phpでmoreリンク先の空要素に任意のテンプレートを挿入したい (5 件の投稿)

  1. 6flat
    メンバー
    2 years前の投稿 #

    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]の部分に別に作成したテンプレートを挿入したいのですが、どの様にすればよいか分かりません
    何か良い方法または参考になるようなものがあればお教え頂けると助かります

  2. taikiken
    メンバー
    2 years前の投稿 #

    別に作成したテンプレートを挿入したい

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

    [my_template]


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

  3. 6flat
    メンバー
    2 years前の投稿 #

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

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

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

  4. kz
    メンバー
    2 years前の投稿 #

    $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;
    }
  5. 6flat
    メンバー
    2 years前の投稿 #

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

返信

ログイン しなければ投稿できません。

About this Topic