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

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

このトピックには4件の返信が含まれ、1人の参加者がいます。6 ヶ月、 1 週前 Y さんが最後の更新を行いました。

  • 投稿者
    投稿
  • #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

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

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

トピック「記事の途中に「関連記事」を置く」への新規返信追加は締め切られています。

スポンサーリンク
アドセンス(大)
アドセンス(大)