サポート » 使い方全般 » カテゴリ一覧を表示するショートコードに日付を表示したいが表示位置が

  • 解決済 ihironaka55

    (@ihironaka55)


    いつもお世話になっております。

    ショートコードでカテゴリー一覧を制作していたのですが、
    タイトルに、日にちも追加して出力したいのです。

    function dc_list($atts, $content = null) {
            extract(shortcode_atts(array(
                    "num" => '5',
                    "cat" => ''
            ), $atts));
            global $post;
            $myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&category='.$cat);
    		$retour='';
            foreach($myposts as $post) :
                    setup_postdata($post);
                 $retour.='<p>'.the_time('Y年n月j日').'<a href="'.get_permalink().'">'.the_title("","",false).'</a></p>';
            endforeach;
    		$retour.='';
            return $retour;
    		wp_reset_postdata();
    }
    add_shortcode("dclist", "dc_list");

    実は日付は表示はされるのですが、投稿コンテンツ部分最初に表示されるのです。
    この会議室で、過去書かれているのも発見し、処理が先に行われてしまっているので、
    表示が本文最初に出力されていると言うのは、理解したのですが、
    そのコードをどの段階に書けばいいのか分かりません。

    下記は、分からないなりに、書き加えたのですが、
    此れだと、1行目の段階が終わった段階でのみ、表示が発生します。

    function dc_list($atts, $content = null) {
            extract(shortcode_atts(array(
                    "num" => '5',
                    "cat" => ''
            ), $atts));
    		ob_start();
            global $post;
            $myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&category='.$cat);
    		$retour='';
            foreach($myposts as $post) :
                    setup_postdata($post);
                 $retour.='<p>'.the_time('Y年n月j日').'<a href="'.get_permalink().'">'.the_title("","",false).'</a></p>';
    $retour.= ob_get_clean();
            endforeach;
    		$retour.='';
            return $retour;
    		wp_reset_postdata();
    }
    add_shortcode("dclist", "dc_list");

    ob_get_clean();
    をどの段階で書けばいいのでしょうか?
    書き方も間違えているとおもいます。
    よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター gatespace

    (@gatespace)

    WordPressあるある。
    the_なんとか = すぐ出力
    get_なんとか = PHPで値として使いたい時。そのままでは出力されない。

    return するなら後者。

    ネットからのコピペでも動くかも知れませんが、
    一度はCodexのテンプレートタグなどを読まれた方が良いですよ。

    大変、分かりやすいご回答ありがとうございます。

    助かりました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カテゴリ一覧を表示するショートコードに日付を表示したいが表示位置が」には新たに返信することはできません。