記事の途中に「関連記事」を置く

Simplicityの特徴 › フォーラム › Simplicity2に関する話題何でも › 記事の途中に「関連記事」を置く

  • このトピックには4件の返信、1人の参加者があり、最後にYにより8年、 5ヶ月前に更新されました。
4件の返信スレッドを表示中
  • 投稿者
    投稿
    • #60113
      Y
      ゲスト

      記事下に表示されている「関連記事」。
      これを記事の途中に、持っていきたいと思っています。

      記事タイトル

      本文

      「関連記事」

      本文

      という感じです。

      テーマの編集などで、できるでしょうか?

      よろしくお願いいたします。

    • #60116
      Akira
      ゲスト

      わいひらさんが書かれた「本文記事1、2、3番目のH2見出し手前にアドセンスを挿入するWordPressカスタマイズ方法」をご参考にされるといい気がします。

      例えば、下記のコードを子テーマの function.php に追加すると、投稿ページの 2 番目の h2 の見出し前に、 Simplicity の関連記事を呼び出せます。

      add_filter( 'the_content', function( $the_content ) {
          if( is_single() === true ) {
              $h2 = '/^<h2.*?>.+?<\/h2>$/im';
              if( preg_match_all( $h2, $the_content, $h2s ) ) {
                  if( $h2s[0] ) {
                      if( isset( $h2s[0][1] ) ) {
                          ob_start();
                          get_template_part( 'related-entries' );
                          $related_template = ob_get_clean();
                          $the_content      = str_replace( $h2s[0][1], $related_template.$h2s[0][1], $the_content );
                      }     
                  }
              }
          }
          return $the_content;
      });
    • #60132
      Y
      ゲスト

      回答ありがとうございます!

      なるほど、応用するんですね。
      思っていた以上に簡単にできて、良かったです♪

      ちなみに、記事下のように「関連記事」という言葉を入れるのも、
      functionに書くだけでいいのでしょうか?

      やってみようと思いましたが、
      昔、いじってサイトが真っ白になったことがあります。

      ちょっと、functionは慎重になっています。
      よろしくお願いいたします。

    • #60139
      Akira
      ゲスト

      「関連記事」という言葉を入れるのも、functionに書くだけでいいのでしょうか?

      function.php に追加すれば表示できます。ついでに関連記事を呼び出すだけでは HTML が変でしたので、関連記事全体を<aside class=”content-related”></aside>で囲みました。

      add_filter( 'the_content', function( $the_content ) {
          if( is_single() === true ) {
              $h2 = '/^<h2.*?>.+?<\/h2>$/im';
              if( preg_match_all( $h2, $the_content, $h2s ) ) {
                  if( $h2s[0] ) {
                      if( isset( $h2s[0][1] ) ) {
                          ob_start();
                          echo '<aside class="content-related"><p class="related-title">' . get_theme_text_related_entry() . '</p>';
                          get_template_part( 'related-entries' );
                          echo '</aside>';
                          $related_template = ob_get_clean();
                          $the_content      = str_replace( $h2s[0][1], $related_template.$h2s[0][1], $the_content );
                      }     
                  }
              }
          }
          return $the_content;
      });

      「関連記事」との言葉は、テーマ設定の「テーマ内テキスト」にある「関連記事タイトルを変更」で変更できます。

      class をつけているので、 CSS で調整可能です。

      .related-title {
        font-size: 24px;
        font-weight: 700;
      }
    • #60145
      Y
      ゲスト

      回答ありがとうございます!

      理想の形にすることができました。
      ありがとうございます!

4件の返信スレッドを表示中
  • トピック「記事の途中に「関連記事」を置く」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)