記事に関連したカテゴリの別ブログ新着表示

トップwordpress記事に関連したカテゴリの別ブログ新着表示

記事に関連したカテゴリの別ブログ新着表示

記事に関連したカテゴリの別ブログ新着表示

 

 

 

single.phpに以下のような感じでぶっこむ。

 

<?php

/*ページ判定、カテゴリ一覧(1カテゴリにしか属していないきめうち)*/
if( is_category() ) { // カテゴリページ
  $now_cate = get_query_var('cat');
  $cates[] = get_category($now_cate);
  $cate = (array)$cates[0];
} else if (is_single() ) {  // 記事ページ
  $cates = get_the_category();
  $cate = (array)$cates[0];


} else if (is_home() ) {  // topページ
  $cates = get_the_category();
  $cate = (array)$cates[0];

} else {
}

/* カテゴリのnicenameと関連付けられたブログ名からRSSを生成 */

$k = $cate['category_nicename'];

  if( eregi( '(a|b|c|d|e|f|g)', $k ) ){
  } else {
    $k = '';
  }

  $items = array();
  $rss_url = '';
  $blog_url = '';
  $blog = '';
  if( $k != '' ){
    $rss_url = sprintf('http://HOGEHOGE.COM/%s/?feed=rss2', $k );
    include_once(ABSPATH . WPINC . '/rss.php');
    $rss = fetch_rss( $rss_url );
    $blog_url = sprintf('http://HOGEHOGE.COM/%s/', $k );
    $blog = sprintf( '<br /><a href="%s">お知らせ・スタッフブログ(こちらから)</a> <br />', $blog_url );
    $maxitems = 3;
    $items = @array_slice($rss->items, 0, $maxitems);
  }
?>

/* 読み込んだRSSの新着一覧表示*/

<?php echo $blog; ?>
<ul>
<?php if (empty($items)) echo '';
else
foreach ( $items as $item ) : ?>
<?php
$item_date  = $item['pubdate'];
$out_item_date  = date('Y.n.j', strtotime($item_date));
?>
<li><a href='<?php echo $item['link']; ?>'
title='<?php echo $item['title']; ?>'>
<?php echo $out_item_date . ' ' . $item['title']; ?>
</a></li>
<?php endforeach; ?>
</ul>

 

 

以下のようなページ判定関数があるらしい

is_admin, is_paged, is_archive, is_attachment, is_author, is_category, is_tag, is_comments_popup, is_date, is_day, is_feed, is_home, is_month, is_page, is_plugin_page, is_preview, is_robots, is_search, is_single, is_singular, is_time, is_trackback, is_year, is_404

この中でもよく使うと思われるものはこちら。

  • is_home()・・・ホーム
  • is_single()・・・シングル
  • is_category()・・・カテゴリー(is_category('2')な どとするとカテゴリーIDで絞れる)
  • is_page()・・・ページ
  • is_search()・・・検索結果画面
  • is_archive()・・・アーカイブページ

カテゴリ内の記事