サポート » 使い方全般 » カスタム投稿一覧ページでの表示件数と並べ替え

  • Custom Post Type UIというプラグインを使ってカスタム投稿をつくるところまではできて、
    一覧ページの作成までできたのですが、以下、うまくいかず困っています。
    zipsというタクソミノーでzipというスラッグだとします。
    archive-zips.phpをつくって一覧ページを表示させているのでずが、記事の並び順が最新記事が上部に来るようになっています。

    これを投稿した順の降順にしたい。
    →これは以下をarchive-zips.phpに追加で解決

    <?php global $query_string;
    query_posts( $query_string . "&order=ASC" ); ?>

    さらに、表示件数をこのページのみ10にしたいのですが、codexのquery postsをみて
    以下を足してみましたが、Notfoundになるか、1つにコードをまとめると画面が白くなってしまいました。
    query_posts( array( 'zips' => 'zip', 'posts_per_page' => 10 ) );

    どのように書けばうまくいくのでしょうか。。。
    function.phpに以下を足すことも試してみましたが、何も変化がありませんでした。

    function category_display_articles( $wp_query ) {
        if (!is_admin()) {
            if ( $wp_query->is_main_query() && $wp_query->is_category('11') ) {
                $wp_query->set( 'posts_per_page', 10 );
            }
        }
    }
    add_action( 'pre_get_posts', 'category_display_articles' );

    ちなみにカテゴリーIDはマウスオーバーしたところにでていたものです。

    よろしくお願いします。

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

    (@gatespace)

    こんんちは。
    アーカイブで並び順を変えたいのは
    カスタム投稿、ではなくカスタム分類のタームのアーカイブですか?

    トピック投稿者 tukihana

    (@tukihana)

    gatespace様

    ありがとうございます。
    素人で申し訳ありません。
    カスタム投稿というのを作成し、カスタム投稿の一覧を作りたかったのです。
    linksというカスタム投稿を作り、一覧を作りたいのです。分類としてlinksというタクソミノーも作る必要があるのかと思っていたのですが、間違っていますか?
    作る必要がなかったのでしょうか。

    現在、並び順をのぞく表示では大分思い通りに調整できてきたのですが、今度は、カスタマイズしたテーマではメニューの変更などが保存できずに、saveボタンを押すといつまでも書き込み中のマークがグルグルしてしまうようになってしまいました。

    仕方がないので、Twenty Eleven等、ほかのテーマに変更して、メニューの変更を保存し、テーマを切り替えると、保存された状態を表示できるという面倒くさい状態になっていて、
    投げ出し気味です。

    モデレーター gatespace

    (@gatespace)

    こんにちは。

    まず、カスタム投稿タイプとカスタム分類は全く別のものです。
    カスタム投稿タイプは投稿や固定ページ、カスタム分類はカテゴリーやタグにあたります。
    作成したカスタム投稿タイプにおいて、カテゴリーやタグにあたるものを使わないのであれば、カスタム分類を関連づける必要はありません。

    カスタム投稿タイプのアーカイブを作りたいとき、
    Custom Post Type UIであれば、まずはカスタム投稿タイプの編集(設定)画面にある「Advanced Options」内の「Has Archive」をTrueにします。

    これでカスタム投稿タイプ「links」のアーカイブページは
    http://example.com/?post_type=links
    で表示されます。

    このとき使われるテンプレートはテンプレート階層に基づいており、優先順位は次の1-3の順です。

    1. archive-{post_type}.php – 例えば投稿タイプ名が “links” の場合は archive-links.php.
    2. archive.php
    3. index.php

    ここまでできたら、並び順などを調整します。
    テーマのfunctions.phpに

    function links_display_articles( $wp_query ) {
        if (!is_admin()) {
            if ( $wp_query->is_main_query() && $wp_query->is_post_type_archive( 'links' ) ) {
                $wp_query->set( 'posts_per_page', 10 ); // 1ページ当たり10件
                $wp_query->set( 'orderby', date ); // 日付をキーに
                $wp_query->set( 'order', ASC ); // 並び替え
            }
        }
    }
    add_action( 'pre_get_posts', 'links_display_articles' );

    と記述してください。

    現在、並び順をのぞく表示では大分思い通りに調整できてきたのですが、今度は、カスタマイズしたテーマではメニューの変更などが保存できずに、saveボタンを押すといつまでも書き込み中のマークがグルグルしてしまうようになってしまいました。

    仕方がないので、Twenty Eleven等、ほかのテーマに変更して、メニューの変更を保存し、テーマを切り替えると、保存された状態を表示できるという面倒くさい状態になっていて、
    投げ出し気味です。

    他のテーマで大丈夫で、ご自分で作成したテーマで問題が発生するのであれば、
    そのテーマのどこかに問題があります。
    WordPressのデバッグモードを有効化したり、テーマチェックのプラグインを使うなどしてみてください。
    参照:WordPressのテーマやプラグイン開発で行うテスト方法いろいろ

    トピック投稿者 tukihana

    (@tukihana)

    こんばんわ。
    ご丁寧にありがとうございます。

    Custom Post Type UIの「Has Archive」はTrueになっており、1までは作成してあったので、functions.phpの一番最後に教えていただいたソースを[<php?]でくくって入れてみましたが、順番の変更や表示件数は変わりませんでした。

    他に問題があるからなのか切り分けができないので、教えていただいたデバックモード等で洗い出しをしてみようと思います。

    モデレーター gatespace

    (@gatespace)

    Custom Post Type UIの「Has Archive」はTrueになっており、1までは作成してあったので、functions.phpの一番最後に教えていただいたソースを[<php?]でくくって入れてみましたが、順番の変更や表示件数は変わりませんでした。

    1. カスタマイズしていない、デフォルトテーマに戻し、
    2. テーマのfunctions.phpの一番最後に私のコードを入れてみる。その際<?php 〜 ?>で囲まなくてもOK

    これで動かないなら私の提示したコードの内の

    if ( $wp_query->is_main_query() && $wp_query->is_post_type_archive( 'links' ) ) {

    の部分をご自分の環境にあわせて変更してみてください。

    トピック投稿者 tukihana

    (@tukihana)

    たびたび申し訳ありません。
    テーマはCustom Community というのを使っていて、ちょうどバージョンアップがかかったので、すべてデフォルトの状態に戻してfunctions.phpの一番最後にご指示頂いたソースの投稿名のところを、確認し保存しました。

    Notice: register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.) in

    デバックモードにしていたので上記のメッセージがでて、やはり並び順も件数も変わりませんでした。

    トピック投稿者 tukihana

    (@tukihana)

    調べていたら上に書いたものは関係ないようですね。
    大変失礼いたしました。
    どうにもならなくなってしまったので、ちょっとお手上げです。

    トピック投稿者 tukihana

    (@tukihana)

    全部初期化してもう一度やってみたら、今度は時々保存できない場合がありますが、なんとかたどりつけました。

    ありがとうございました

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「カスタム投稿一覧ページでの表示件数と並べ替え」には新たに返信することはできません。