サポート » 使い方全般 » サイトマップの並び替え方

  • 解決済 mitsugi ikeda

    (@mitsugi-ikeda)


    お世話になります。

    現在、自作で固定ページにサイトマップを作成しています。

    以下のコードを固定ページに書けば、
    指定カテゴリ(例:ID=178)別の、
    記事タイトル一覧(例:最大100個まで)が、
    表示できるのは解ったのですが。

    この記事タイトル一覧を、
    名前順に並べ替える方法は、
    どうすればよろしいのでしょうか?

    お知恵をお借りできる方がいらっしゃいましたら、
    宜しくお願いいたします。

    私方、PHP 初心者のため、いろいろ試してはいますが、
    なかなか思うように出来ません。

    宜しくお願いいたします。
    以下がコードです。
    (尚、固定記事内でPHPが使えるようにプラグインは導入済みです。)
    (現在のままでも、一覧は問題なく表示してくれています。)
    (あとは、並び替えるだけです。)

    ———-

    <ul>
    <?php
    $category_recent_post = 100;      // 記事数
    $category_recent_id = 178;     // カテゴリID
    $posts = get_posts('numberposts='  . $category_recent_post . '&category=' . $category_recent_id );
    global $post;
    if($posts) {
    foreach($posts as $post) {
    setup_postdata($post);
    echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
    }
    }
    ?>
    </ul>

    ———-

    宜しくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • ‘orderby’に’title’を指定するといいです。
    ‘order’はデフォルトで’DESC’なので、’ASC’を指定する必要があるかもしれません。
     
    テンプレートタグ/get_posts – Codex 日本語版

    パラメータ

    get_posts() は WP_Query クラスを利用して投稿を取得します。この関数で使えるパラメータについては、WP_Query ドキュメンテーションの パラメータセクションをご覧ください。

    トピック投稿者 mitsugi ikeda

    (@mitsugi-ikeda)

    popupさんへ、有難うございました。

    早速、今晩からいろいろやってみます。

    ただ、構文中のどの部分に「’orderby’に’title’を指定する・・・」のかもわからない状態ですので、時間がかかると思います。

    完成しましたら、ご連絡します。

    追伸、このような基礎的な勉強は、何をみながらやれば良いのでしょうか???
    勉強不足で、なさけなくなります。

    有難うございました。

    get_posts()のパラメータですので、既に指定してある’numberposts’や’category’と同じように、’&’で繋げて文字列として渡す方法で大丈夫です。
    上で返信したget_posts()やWP_Queryのドキュメンテーションの例文や、query_posts()の例文を参考にしてください。
     

    追伸、このような基礎的な勉強は、何をみながらやれば良いのでしょうか???

     
    ドキュメンテーション(Codex)の他に、WPはPHPですから、PHPのマニュアルや初心者向けサイトで基礎を勉強するといいです。

    トピック投稿者 mitsugi ikeda

    (@mitsugi-ikeda)

    popupさんへ、有難うございました。

    いろいろ、やってみます。
    PHPのマニュアルも探してみようと思います。

    また、popupさんが、この質問を訪問される事があり、
    お時間があるようでしたら、

    ★お勧めの本とか、★サイトとかがありましたら、
    を教えていただけるとありがたいです。
    宜しくお願いいたします。

    追伸———————-

    このサイトマップが出来たら、
    次は、サイドバー用のテキストウィジェットにコードを書いて

    今選んでいるカテゴリや見ている記事が含まれる、
    カテゴリ内の記事タイトル一覧表をサイドバーに表示するPHPに挑戦します。

    今、1記事に1カテゴリで投稿していますので、
    出来る方法はあると思っています。

    また、そのテキストウィジェットは、ページに
    カテゴリ内の記事一覧や、投稿記事を表示していない時は、
    最新記事を表示するようにもしたいと思っています。

    難しいとは思いますが、どうしても完成したいです。^^;

    トピック投稿者 mitsugi ikeda

    (@mitsugi-ikeda)

    popupさんへ、出来ました。
    次はサイドバーを考えます。
    有難うございました。

    <ul>
    <?php
         $category_recent_post = 100;      // 記事数
         $category_recent_id = 178;     // カテゴリID
         $category_recent_order = asc;     // ASC=降順 desc=昇順
         $category_recent_orderby = title;     // タイトル順指定
         $posts = get_posts('numberposts='  . $category_recent_post . '&category=' . $category_recent_id .
                            '&order='.$category_recent_order  . '&orderby='.$category_recent_orderby  );
         global $post;
         if($posts) {
              foreach($posts as $post) {
                   setup_postdata($post);
                   echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
              }
         }
    ?>
    </ul>

    テキストウィジェットは、説明文にあるように’任意のテキストと HTML’を表示する為のウィジェットで、PHPのコードを記述しても実行されません。
    テンプレートファイルに記述するか、そのような機能のプラグインを使うことになると思います。
    表示する為のコードやプラグインが分からない場合は、新しくトピックを作成して質問するようにしてください。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「サイトマップの並び替え方」には新たに返信することはできません。