サポート » テーマ » 独自のテンプレートタグ

  • 初心者です。
    独自のテンプレートタグって作れるのでしょうか?
    投稿ページの<h3>をトップページ等に表示したいです。
    いい方法があれば教えてください。
    よろしくお願いします(>_<)

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちは

    独自のテンプレートタグって作れるのでしょうか?

    できますよ

    投稿ページの<h3>をトップページ等に表示したいです。

    投稿のタイトルの事ですか?

    新着○件の投稿のタイトルを、トップページに表示するとかということですか?

    トピック投稿者 matometai

    (@matometai)

    nobitaさま
    ご返信ありがとうございます。

    タイトルではなく、ページの一部分を表示させたいのです。

    イメージとしては投稿でコーラの商品詳細ページを作ったとします。
    そのページの中に「価格:120円」という記載があったとして
    その「価格:120円」とアイキャッチ画像をトップページに表示させる
    といったイメージです。

    説明が下手くそですいません。

    お分かりになれば、よろしくお願いいたします。

    ごく簡単なサンプル

    functions.phpに

    <?php
    function matometai(){
    	global $post;
    
    // 本文を取得
    	$content = $post->post_content;
    // 本文から必要な部分を抽出
    
    	preg_match( '!<h3>([^<]+)</h3>!', $content , $regs );
    
    // h3要素内のテキストを返す
    	if( !empty($regs) ) {
    		return esc_html( $regs[1] );
    	}
    }
    ?>

    テンプレートに
    the_contentの後ろあたり

    <?php echo matometai();?>

    と書けばいいんですが、慣れていないと、結構難しいのと、投稿ごとに、関数ががんばって働くので、表示が遅くなったりするといったことも考慮しなけえればなりません

    カスタムフィールドを使うといいんじゃないかと思います。

    カスタムフィールドの名前を、matometai として 値は自由に、

    the_contentの後ろあたり

     
    echo get_post_meta(get_the_ID(), 'matometai', true);

    このほうが、おすすめ

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「独自のテンプレートタグ」には新たに返信することはできません。