サポート » 使い方全般 » tagで一覧を出すショートコードが動かない

  • 解決済 ihironaka55

    (@ihironaka55)


    お世話になっております。

    カテゴリーのショートコードを改造し、tagを入れると動くようにしてみたいのですが、
    どうも、動かず困っています。

    ショートコードで特定のタグを5個出力する。

    function sc_list($atts, $content = null) {
            extract(shortcode_atts(array(
                    "num" => '5',
                    "tag" => ''
            ), $atts));
            global $post;
            $myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&tag='.$tag);
            $retour='';
            foreach($myposts as $post) :
    			setup_postdata($post);
    			$retour.='<p><a href="'.get_permalink().'">'.the_title("","",false).'</a></p>';
    		endforeach;
    		$retour.='';
    		wp_reset_postdata();
            return $retour;
    }
    add_shortcode("sclist", "sc_list");

    ショートコードの書き方は、下記の通り。
    [sclist num=”5″ tag=”71″]
    としています。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • カテゴリーとタグではパラメタの意味が微妙に違います。
    71 がタグIDとすると

    ・・&tag_id='.$tag);

    トピック投稿者 ihironaka55

    (@ihironaka55)

    ありがとうございます。
    無事に動きました。
    ネットに乗った物を流用したのですが、
    動かない物が公開されていたようです。
    修正した物を、今一度アップしておきます。

    //ショートコードで特定のタグを5個出力する。

    function sc_list($atts, $content = null) {
            extract(shortcode_atts(array(
                    "num" => '5',
                    "tag" => ''
            ), $atts));
            global $post;
            $myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&tag_id='.$tag);
            $retour='';
            foreach($myposts as $post) :
    			setup_postdata($post);
    			$retour.='<p><a href="'.get_permalink().'">'.the_title("","",false).'</a></p>';
    		endforeach;
    		$retour.='';
    		wp_reset_postdata();
            return $retour;
    }
    add_shortcode("sclist", "sc_list");

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「tagで一覧を出すショートコードが動かない」には新たに返信することはできません。