サポート » テーマ » 月別アーカイブの表示

  • お世話になります。
    月別アーカイブの表示なのですが、今作成しているarchive.phpテンプレートで通常のWPループにて表示させようと思っているのですが、管理画面の表示設定で設定する「1ページに表示する最大投稿数」の制限ですべてが表示されません。
    query_postsで制限を解除しつつ表示させようと思っていますが、query_postsをつかうとアーカイブの月に関係なくすべてが表示されてしまいました。
    何かしらの解決方法はありませんでしょうか?
    よろしくお願いします。

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

    (@gatespace)

    テーマのfunctons.phpに書く形で可能です。
    pre_get_posts フックと is_main_query を使います。

    add_action( 'pre_get_posts', 'foo_modify_main_queries' ); // pre_get_postsにフック
    // フック時に使う関数
    function foo_modify_main_queries ( $query ) {
    	if ( ! is_admin() && $query->is_main_query() ) { // 管理画面以外 かつ メインクエリー
    		if ( $query->is_month() ) { // 月別アーカイブ
    			$query->set( 'posts_per_page', -1 ); // すべて表示
    		}
    	}
    }

    自分のブログで恐縮ですが。
    http://gatespace.jp/2012/09/10/modify_main_queries/

    トピック投稿者 osamuya

    (@osamuya)

    gatespaceさん、ありがとうございます。

    pre_get_posts
    is_main_query
    どちらも知りませんでした。
    貴重な情報ありがとうございます。

    まだ実装していないのですが、よく勉強しながら実装してみます。
    簡単なフックは少しだけやったので何とかできそうです。
    ありがとうございます!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「月別アーカイブの表示」には新たに返信することはできません。