• はじめて書き込ませていただきます。
    カスタム投稿のページングの問題はあちこち拝見させていただきましたが、
    反映できそうな解決策を見つけることができず、トピックを立てさせていただきました。

    通常の投稿で使用しているものと同じテンプレートを一部変更して
    カスタム投稿一覧を固定ページで表示させようと思っています。

    現状、カスタム投稿の記事は表示されることはされるのですが、
    2ページ目以降も同じ記事内容が出てきてしまいます。
    以下コードの//投稿記事件数取得 付近がうまくいかないために起こっていると思いいろいろ試してみましたが、取得することができませんでした。

    以下コードです。
    助言いただけますと幸いです。

    <?php
    	$LIST_MAX = 5;
    
    	$total   = 0;
    	$pagemax = 0;
    	$last    = 0;	// 前へリンク判定(0:無し、1:有り)
    	$next    = 0;	// 次へリンク判定(0:無し、1:有り)
    
    	$page = $_GET['n'];
    	if(empty($page)) $page = $_POST['n'];
    	if(empty($page)) $page = 1;
    	$page_no = $page;
    
    	$offset = ($page - 1) * $LIST_MAX;
    
    	// 投稿記事件数取得
    	$poststotal = get_posts('numberposts=-1');
    	$total = count($poststotal);
    	print('投稿記事件数は'.$total.'です<br>');	// 記事数確認のため一時的に追加
    	$pagemax = intval(($total - 1) / $LIST_MAX) + 1;
    	if($page > 1) $last = 1;
    	if($page < $pagemax) $next = 1;
    	$pageing = array();
    	$pos = 0;
    	if($page == 1) {
    		$max = $pagemax;
    		if($max > 3) $max = 3;
    		for($i = 0; $i < $max; $i++){
    			$pageing[$i] = $i+1;
    		}
    	} else {
    		$max = $pagemax;
    		if($max == $page) {
    			$stpage = $page-3;
    			if($stpage < 0) $stpage = 0;
    			for($i = $stpage; $i < $max; $i++){
    				$pageing[$pos] = $i+1;
    				$pos++;
    			}
    		} else {
    			if($max > ($page+1)) $max = $page+1;
    			for($i = ($page-2); $i < $max; $i++){
    				$pageing[$pos] = $i+1;
    				$pos++;
    			}
    		}
    	}
    
    	// 投稿記事情報取得
    	$posts = get_posts( array( 'post_type' => 'test', 'numberposts='.$LIST_MAX.'&offset='.$offset ) );
    	global $post;
    ?>
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • アーカイブ付きのカスタム投稿タイプを作った方が簡単だと思いますが、
    固定ページで作らなければならない特別な理由がありますか?

    トピック投稿者 namichelle

    (@namichelle)

    返信が遅くなり申し訳ございません。
    固定ページで作る特別な理由はありません。
    ただ、同じ話の繰り返しで恐縮ですが、既に通常の投稿一覧を固定ページで作成していたため
    同様の方法でできた方が管理や引き継ぎの際にわかりやすいかと思っただけです。

    いまだに解決はしていませんが、アーカイブでうまくできるかやってみようと思います。

2件の返信を表示中 - 1 - 2件目 (全2件中)

トピック「カスタム投稿のページングと件数取得」には新たに返信することはできません。