• 解決済 silver_kir

    (@silver_kir)


    こんにちは、投稿された記事に対して記事の中で自動的に連番を振りたい(1,2,3,…)と考えています。
    また、カテゴリが多いのでカテゴリ毎に個別に振り分けを行いたいです。

    http://ja.forums.wordpress.org/topic/6617
    まず、上記を参考にcategory.phpとfunctions.phpを変更することで、全記事を通しての連番の表示は出来ました。(カテゴリ毎にはなっていません)

    http://ja.forums.wordpress.org/topic/6762
    次に上記が同じ内容だと判断してfunctions.phpを書き換えたのですが、そのままですとcategory.phpの書き換えた部分にエラーがあると表示がされました。

    functions.php

    function ps_number_cat( $post_type = 'post', $op = '<=' ,$cat_id = '1') {
    	global $wpdb, $post;
    	$categories = get_the_category($post->ID);
    	$in_cat=0;
    	foreach($categories as $category){if($category->term_id == $cat_id){$in_cat=1;}}
    	if($in_cat){
    	$post_type = is_array($post_type) ? implode("','", $post_type) : $post_type;
    	$number = $wpdb->get_var("
    		SELECT COUNT( * )
    		FROM $wpdb->posts as p
    		LEFT JOIN $wpdb->term_relationships as r ON p.ID = r.object_ID
    		LEFT JOIN $wpdb->term_taxonomy as t ON r.term_taxonomy_id = t.term_taxonomy_id
    		LEFT JOIN $wpdb->terms as terms ON t.term_id = terms.term_id
    		WHERE post_date {$op} '{$post->post_date}'
    		AND post_status = 'publish'
    		AND post_type = ('{$post_type}')
    		AND t.taxonomy = 'category' AND terms.term_id = '{$cat_id}'
    	");
    	return $number;
    	}else{
    	return "";
    	}
    }

    category.php
    <?php echo ps_number( $post->post_type ); ?>

    他に変更等必要なのでしょうか? 宜しくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • functions.phpに追加したのはps_number_cat()なのに、category.phpではps_numberを実行していますが、これが原因ではないですか?

    あと、そのままだとカテゴリID「1」の投稿しか番号を返さないと思いますので、次のようにする必要がありそうです。

    <?php $cat_id = get_query_var('cat'); ?>
    <?php echo ps_number( $post->post_type, $op = '<=' ,$cat_id ); ?>

    トピック投稿者 silver_kir

    (@silver_kir)

    お礼が遅くなり申しわけありません。
    頂いた指摘を元に変更をおこなって目的を果たせました。
    ありがとうございます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カテゴリー記事毎への連番表示に関して関して」には新たに返信することはできません。