サポート » プラグイン » Customizable Post Listingsを使用して新着記事を表示する件

  • 解決済 ant10

    (@ant10)


    初めまして。いつも、ブログ系はNucleusを使ってたものです。
    今回初めて勉強の意を込めて自社のブログにWPを入れてカスタマイズしてみました。
    以下の参照URLのような表示にしたいと思いプラグインを調べていました。

    ▼参照URL
    http://bit.ly/RfnQ2N

    Customizable Post Listingsというプラグインがあったのですが、カテゴリを表示すると、
    各新着記事のタイトル毎にカテゴリ名が表示されてしまうため、各カテゴリ内の新着記事
    だけ抜き出す機能を拝借して、カテゴリの表示は自分で作りました。

    ▼ソース(汚いコードでごめんなさい)

    function stdclass_to_array($objDATA) {
    	$arrayDATA = (array) $objDATA;
    	$arrayKeys = array_keys($arrayDATA);
    	$intCount = count($arrayKeys);
    
    	for($i=0;$i<$intCount;$i++){
    
    		$arrayDATA[$arrayKeys[$i]] = (array) $arrayDATA[$arrayKeys[$i]];
    
    	}
    
    	return $arrayDATA;  
    
    }
    function get_all_category_info() {
    	if ( ! $cat_all = wp_cache_get( 'all_category_all', 'category' ) ) {
    		$cat_all = get_terms( 'category', 'fields=all&get=all&orderby=name' );
    		wp_cache_add( 'all_category_all', $cat_all, 'category' );
    	}
    	return $cat_all;
    }
    
    function get_category_newpost($get_category_id) {
    	$cat_info = get_all_category_info();
    	$cat_info = stdclass_to_array($cat_info);
    for($i=0;$i<count($cat_info);$i++) {
    	if($cat_info[$i][parent]==0 && $cat_info[$i][term_id]==$get_category_id) {
    		$c_parent = $cat_info[$i][term_id];
    //		echo "<b>(親:". $cat_info[$i][parent] .")" . $cat_info[$i][term_id] . ":" . $cat_info[$i][name] . "</b><br>";
    		for($ch=0;$ch<count($cat_info);$ch++) {
    			if($cat_info[$ch][parent]==$c_parent) {
    				echo '<dt>' . $cat_info[$ch][name] . '</dt>';
    				echo c2c_get_recent_posts($num_posts = 3,$format = "%post_URL%",$categories = $cat_info[$ch][term_id],$orderby = 'date',$order = 'DESC',$offset = 0,$date_format = 'Y-m-d',$authors = '',$post_type = 'post',$post_status = 'publish',$include_passworded_posts = false);
    				echo '<dd class="separate_dd"></dd>';
    			}
    		}
    		$c_parent = "";
    	}
    }}

    ↑で定義したものを↓のようにして親カテゴリを指定して子カテゴリを出力(追加)

    <?php get_category_newpost(559); ?>

    動作は、カテゴリを抽出して、親カテゴリ、第一子カテゴリを並べて、
    第一子カテゴリに含まれる新着記事を表示しています。

    この方法で、CPLで出力した新着記事を見ると、リンクの後ろにカテゴリに含まれる記事数が
    強制的に表示されてしまいます。

    for内で回すと表示されて、単独でカテゴリを指定して表示すると記事数が表示されません。

    原因について少しでもアドバイス等いただけないでしょうか・・(~_~;)

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 ant10

    (@ant10)

    すみません。今日になって再調査してみたところ、原因が分かりました。

    echo c2c_get_recent_posts($num_posts = 3,$for ~以下略);

    の部分をvar_dumpしてみたところ、int型の数字を吐いていました。
    もしかして・・と思い、echo を外してみたら・・・綺麗に動きました!

    困った時のvar_dumpは大事ですね。
    皆様大変失礼しました。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「Customizable Post Listingsを使用して新着記事を表示する件」には新たに返信することはできません。