mokosukeさん、こんにちは。
パラメータに pagedがないためですね。
下記を参考に、pagedパラメータを追加してみてください。
wp-pagenavi 正常表示されない件について
jim912さん、ありがとうございます。
ご指摘のアドレスを参考に、以下のように書いてみました。
<?php
$paged = get_query_var( 'paged' );
$infotit = new WP_Query(array('post_type' => 'information', 'posts_per_page' => 20, 'paged' => $paged ));
if( $infotit -> have_posts() ) :
while($infotit -> have_posts()) : $infotit -> the_post();
echo the_title();
endwhile;
previous_posts_link();
next_posts_link();
endif;
wp_reset_query();
?>
何も表示がされませんでした。
見よう見まねなので、ご指摘いただけると助かります。
よろしくお願いいたします。
mokosukeさん
何も表示がされませんでした。
とは、どのような状況で何が表示されなかったのでしょうか?もう少し詳細に説明をお願いします。
カスタム投稿タイプを準備するのが手間だったので、post_typeのパラメータはpostにしましたが、私のテスト環境では、呈示いただいたコードで問題なく動作しています。
jim912さん、ありがとうございます。
まず、functions.phpでカスタム投稿を作りました。
function info_custom_post_type() {
$labels = array(
'name' => 'Info',
'singular_name' => 'Info',
'add_new_item' => 'Infoを追加',
'add_new' => 'Info追加',
'new_item' => '新規Info',
'view_item' => 'Infoを表示',
'not_found' => 'Infoは見つかりませんでした',
'not_found_in_trash' => 'ゴミ箱にInfoはありません。',
'search_items' => 'Infoを検索',
);
$args = array(
'labels' => $labels,
'public' => true,
'show_ui' => true,
'query_var' => true,
'hierarchical' => false,
'menu_position' => 5,
'supports' => array('title','editor')
);
register_post_type('information', $args);
flush_rewrite_rules();
$args = array(
'label' => 'Infoカテゴリー',
'public' => true,
'show_ui' => true,
'hierarchical' => true,);
register_taxonomy('information', 'information', $args);
}
add_action('init', 'info_custom_post_type');
これで、前出の表示させるコードを書きました。
該当の固定ページを開きますと、
最新の20件は表示されますが、ページ送りのリンクテキストが表示されません。
よろしくお願いいたします。
mokosukeさん
ページ送りの表示を行う previous_posts_link(); next_posts_link(); は WordPress本体が生成する WP_Query のインスタンスである $wp_query を元にしています。
今回は、新たに $infotit を生成していたため、本来の $wp_query は固定ページの情報のままであったため、ページ送りのリンクが表示されないようになっているはずです。
new WP_Query ではなく、$wp_queryを書き換える query_postsを使えば、ページ送りも表示されるようになるはずですので試してみて下さい。
jim912さん、ありがとうございます。
分かりやすいご説明ありがとうございます。
こちらで動きました。
<?php
$paged = get_query_var( 'paged' );
query_posts('post_type=information&posts_per_page=20&paged='.$paged);
if( have_posts() ) :
while(have_posts()) : the_post();
echo the_title();
endwhile;
endif;
previous_posts_link();
next_posts_link();
wp_reset_query();
?>
WordPressもPHPも、勉強を始めたばかりですが、
少しずつがんばりたいと思います。
ありがとうございました。