sygnas
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: タクソノミーアーカイブでページングすると違うテンプレートが適用されありがとうございます。
pre_get_postsで数を変更、さらに is_main_query()でメインかどうかの判別ですか。
なるほどーー。奥が深いです。フォーラム: 使い方全般
返信が含まれるトピック: タクソノミーアーカイブでページングすると違うテンプレートが適用され>popup様
ありがとうございます。
おかげでだいぶスッキリいたしました。スラッグについても仰る通りでした。global $wp_query; $args = array_merge( $wp_query->query, array( 'posts_per_page' => 5 ) ); query_posts( $args );
ページによって表示件数を変更するということについては表示設定のほうを「1件」にすることで対応できました。
フォーラム: 使い方全般
返信が含まれるトピック: タクソノミーアーカイブでページングすると違うテンプレートが適用され解決しました!
結論から言うと、WordPressの表示設定「1ページに表示する最大投稿数」が関係していました。
http://d.hatena.ne.jp/nakagaw/20100710/1278803760そこの設定が「10」件、今回の検索部分は「5」件、登録数「8」件という状態で、
2ページ目(11件目から表示)は Not Foundになるというわけです。
ということは、ページ毎の表示件数は統一せざる得ないということですか……?また上記を解消しても、query_posts() で $wp_query->query を使うと、ページが変わっても、タクソノミー分類が変わっても反映されなかったため、当初の書き方に戻しました。さらに言うとURIを「分類(ターム)名」ではなくスラッグにしたかったので、最終的には下記のようになりました。
// ページ数 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // ターム情報 $term = get_term_by( 'name', single_term_title('', false), 'genre' ); query_posts( array( 'post_type' => 'sounds', 'taxonomy' => 'genre', 'term' => $term->slug, 'posts_per_page' => 5, 'paged' => $paged, 'order' => 'DESC' ));
タクソノミー登録 register_taxonomy() の rewriteオプションは下記のどれでも問題なく動作しました。
'rewrite' => array( true, 'with_front' => false ), 'rewrite' => array( 'with_front' => true, 'hierarchical' => true ), 'rewrite' => array( 'slug'=>'genre' ),
ひとまず解決しましたが今度は「表示設定の影響を受けてしまう」という難問が生まれてしまいましたが、それについてはまた調べてみたいと思います。
相談にのってくださったmzplace様、LVP8様ありがとうございました。フォーラム: 使い方全般
返信が含まれるトピック: タクソノミーアーカイブでページングすると違うテンプレートが適用され>LVP8様
ありがとうございます。なるほど、$wp_query->query はそのように使うのですね。query_posts( array( 'post_type' => 'sounds', 'posts_per_page' => 5, 'order' => 'DESC' ), $wp_query->query );
と記述してみましたが、やはり404.phpが表示されました。
wp_reset_query() はコメントアウトしてあります。プラグインを使わず function.php に記述して rewriteを変更→パーマリンク設定更新
をやってみたのですが、with_front、hierarchical、どちらを使う設定もダメでした。register_taxonomy( 'genre', array ( 0 => 'sounds', ), array( 'hierarchical' => true, 'label' => 'ジャンル', 'show_ui' => true, 'query_var' => true, // 'rewrite' => array( true, 'with_front' => false ), 'rewrite' => array( 'with_front' => true, 'hierarchical' => true ), 'singular_label' => 'genre' ) );
検索するとかなりポピュラーな詰まりどころなのに、コレという解決法はなかなかないですね……。
フォーラム: 使い方全般
返信が含まれるトピック: タクソノミーアーカイブでページングすると違うテンプレートが適用され>mzplace様
有益な情報ありがとうございます!
しかしながらインストールしても状況は変わりませんでした。^^;
とはいえ、いただいた情報をヒントにひとつわかったのはindex.php を表示していたのではなく、404.phpが表示されている
ということです(404.phpを用意してみたら表示されました)。
調査の範囲はぐっと狭まりました。
逆にカスタムポストタイプのページネーションは上手くいっているのも謎です……。
http://~/ポストタイプ/page/2/ は問題ないのです。フォーラム: プラグイン
返信が含まれるトピック: タイトル一覧の出力の仕方自己解決いたしました。
get_posts() を使い、the_titleも第三引数を「false」にすることで
望む結果が得られました。こちらの記事が参考になりました。
WordPress › フォーラム » 特定のカテゴリーの記事一覧を表示したい。
http://ja.forums.wordpress.org/topic/154$posts = get_posts('numberposts=10'); global $post; if($posts){ foreach($posts as $post){ setup_postdata($post); fwrite( $fp, the_title('','',false)); } }