2011.08.28

WordPress のサイドバーを変える

特定カテゴリーのときに使用する sidebar.php ファイルを指定することはできたので、
次はその内容をメインのものと違うものにしようと思った。

追加したいウィジェットを並べれば基本的なものは使える。
テンプレートタグ/the widget

例えば、カレンダーを入れたいときはこんな感じである。
<div id=”sidebar”>
<div class=”sidebar-widget”>
<h4>カレンダー</h4>
<?php the_widget(‘WP_Widget_Calendar’); ?>
</div>
</div>

あとは、他のカテゴリーの情報とかを隠したかったので、最近の記事リストを独自に作った。

カテゴリー名とURLを出すところは前と同じだが、カテゴリー数だけ繰り返すので foreach を使っている。
このとき、カテゴリーIDが並んでいないので、一度配列に入れている。

最新の投稿から何件か、タイトルとリンクを出したかったので、
get_posts(‘numberposts=10 & category=’.$value); でカテゴリーから10記事をリストするようにした。

<h4>最近の記事</h4>
<?php
$array = array(43,44,45,47,46);
foreach ($array as &$value):
?>
<b><a href=”<?php
echo get_category_link($value);
?>”>
<?php
$cat = get_category($value);
echo attribute_escape($cat->cat_name);
echo ‘ (‘. attribute_escape($cat->category_count) .’)’;
?></a>
</b><br/>
<ul>
<?php $posts=get_posts(‘numberposts=10 & category=’.$value); ?>
<?php if ( $posts ) : foreach($posts as $post) : setup_postdata($post); ?>
<li><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a>&nbsp;-&nbsp;<?php the_time(‘Y/n/j’); ?>
<?php endforeach; endif; ?>
</ul>
<?php
unset($value);
endforeach;
?>
</div>

参考: WordPressで特定カテゴリーの新着記事リンクを表示させたい

あとはCSSとか変えようかなって思ってたけど、それ以外はだいたい思い通りになった。

そんなこんなで、「映画」カテゴリーを変えていったのである。
あとは同じように独立性が高い「旅」カテゴリーも同様に変えたいと思っている。


2011.08.28, 22:57 / WordPress
WordPress のサイドバーを変える はコメントを受け付けていません
2011.08.28

探し物

カメラのバッテリー、iPodに続き、また探し物。
それは、スタンプカード。

10月の行事に参加するときに必要なやつ。
去年もらった大門坂通行証とか巾着袋とかはあるのだけど、
スタンプカードだけ見つからないのよねぇ。

年末年始の大掃除でどっかに片付けたんだと思うんだけど、
記憶に残ってないだけに、何かと紛れて捨ててしまった可能性も否定できない。

そんなこんなでまた大掃除をしようという気になってきた。
見つかる気はあんまりしないんだけど。


2011.08.28, 20:33 / 日々所感
2011.08.28

秋の味覚

image

秋刀魚と秋梨。
最高。

家でお酒を飲むことはなくなったけど、
お酒売り場はいつも気になっていた。
梨のお酒だけは欲しかったから^^

お酒売り場にはなかったのに、
秋刀魚の売り場に置いてあったので即購入決定!

うまい。

アルコール5%なのに、けっこう酔いが回ってる気がする。


2011.08.28, 18:29 / 日々所感
秋の味覚 はコメントを受け付けていません
2011.08.28

WordPress で1つ上の階層のカテゴリー名を表示してリンクする

参考:
親カテゴリ名を取得し表示したい
親カテゴリーIDの取得

トップカテゴリーから全て並べるのではなくて、自分と1つ上の親カテゴリを使いたかった。

<a href=”自カテゴリのリンク”>親カテゴリ名と自カテゴリ名を並べる</a>

とかしたくて、

<a href=”<?php
 $categoryname = single_cat_title(”,false);
 $categoryid = get_cat_ID($categoryname);
 echo get_category_link($categoryid);
?>”>
<?php
 $cat_now = get_the_category();
 $cat_now = $cat_now[0];
 $cat = get_category($cat_now);
 if ($cat->parent) {
  $parent = get_category($cat->parent);
  echo attribute_escape($parent->cat_name);
 }
 echo attribute_escape($cat->cat_name);
?>
</a>

っぽくしてみて、できた。
(実際にはカテゴリー別に分岐とかしてるけど)


2011.08.28, 02:08 / WordPress
WordPress で1つ上の階層のカテゴリー名を表示してリンクする はコメントを受け付けていません
2011.08.28

WordPress でカテゴリーごとにデザインを変える

wp-content/themes/使用中のテーマ/ にて、
category.php がある場合は、カテゴリーアーカイブ(?cat=ID)を選んだときにそれが使われ、なければ index.php が使われる。
category-ID.php がある場合、それはそのIDのカテゴリーアーカイブのときに使われる。

例えば、?cat=48 というカテゴリーを選ぶと、
1. category-48.php
2. category.php
3. index.php
の順番に探して、あったものを使う。
(ホントはもっとあるので、詳しくはこちら > テンプレート階層

1. のファイルを用意せずに、2.や3.のファイル内で if文を使って分岐させることもできる。

カテゴリーアーカイブを開いたとき、そのカテゴリーによって変える場合、
<? php
 if(is_category(’43’)) {
  ここに?cat=43のときの処理
 } else {
  その他のときの処理
 }
?>

1つの投稿(?p=)を開いたとき、その投稿が属するカテゴリーによって変える場合、
<? php
 if(in_category(’43’)) {
  ここに?cat=43のときの処理
 } else {
  その他のときの処理
 }
?>
is_categoryとin_categoryが違う。

で、処理の部分に、使うヘッダーファイルやサイドバーファイルを指定したりする。

通常のヘッダーファイルは header.php であり、
 <? php get_header(); ?>
で呼び出すが、
 <? php get_header(’48’); ?>
と書くと、header-48.php が呼び出される。
 <? php get_header(‘movie’); ?>
というように文字でもよく、この場合はheader-movie.php が呼び出される。

<?php include (TEMPLATEPATH . ‘/header-movie.php’); ?>
というようにも書けるので、これはheader-TAG.php の形じゃない場合に使えるかな。


2011.08.28, 01:41 / WordPress
WordPress でカテゴリーごとにデザインを変える はコメントを受け付けていません