• 解決済 mizyu510

    (@mizyu510)


    wordpress3.8.3を使用しています。

    固定ページの投稿をnextpageのクイックタグで改ページしているんですが、colissさん掲載の下記ショートコードを使用して、固定ページの投稿内で特定のカテゴリの記事一覧を取得して表示させると、ページナビが消えてしまいます。

    ページナビはwp link pages() で実装していて、
    改ページ自体はされています。

    色々検索したり、いじってみたりしたんですが、
    いかんせん知識不足で解決できませんでした。

    解決方法をご存知の方がいらっしゃいましたら、
    よろしくお願いします。

    function sc_liste($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='<ul>';
            foreach($myposts as $post) :
                    setup_postdata($post);
                 $retour.='<li><a href="'.get_permalink().'">'.the_title("","",false).'</a></li>';
            endforeach;
            $retour.='</ul> ';
            return $retour;
    }
    
    add_shortcode("list", "sc_liste");
4件の返信を表示中 - 1 - 4件目 (全4件中)
  • get_posts して setup_postdata したならリセットしないと諸々面倒なことになります。
    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_posts

    あと、こういうときはデバッグモードにしてエラー内容を確認するのがまず先です。
    http://ja.forums.wordpress.org/topic/11794?replies=1

    トピック投稿者 mizyu510

    (@mizyu510)

    gatespaceさん、
    とても素早いご返答ありがとうございます。

    ご指摘いただいた通り、
    コードのreturnの行の後に、
    wp_reset_postdata();
    を追加させていただきました。

    それと、デバックモードの件、
    大変失礼しました。

    デバックモードはオンになっておりまして、
    特にエラーなどは表示されていませんでした。

    現状、変化なしです。

    これはバグなんでしょうか?

    return行の後にwp_reset_postdata();書いても、 return行でその関数(function)の処理は終わるので意味がありません。

    書くなら return $retour; の前 だと思います。

    トピック投稿者 mizyu510

    (@mizyu510)

    Tsuyoshiさん、ご返答ありがとうございます。

    解決できました!
    無知ですみません。

    おふたりとも素早くご回答いただき、
    本当にありがとうございました!

    助かりました。

    解決済みとさせていただきます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「特定カテゴリ記事一覧取得のショートコード実行後、ページナビが消える」には新たに返信することはできません。