カテゴリ一覧をドロップダウンでアクションを設定する
2.1以降は、テンプレートタグが用意されているので、そちらを利用していただきたい。
****************************************************************
※Wordpress 2.0.10 用ファイルを追加。 (2007.04.09)
※Wordpress 2.0.6 - 2.0.9 まで共通です。 (2007.03.06)
※Wordpress 2.0.6 用ファイルを追加。 (2007.01.19)
****************************************************************
カテゴリ一覧サイドバーに表示するときに、ドロップダウン表示にするのは、テンプレートタグである dropdown_cats() で簡単に実現できる。
ここで、OnChangeアクションを設定したい場合のやり方がいくつかのサイトで紹介されているが、Internet Explorerなどでうまく表示できなかったというユーザは多いだろう。
そこで、正しいやり方を説明する。
よく紹介されているのは、カテゴリ一覧の部分を以下のようなコードに書き換えるというものだろう
<form name="catform" action="<?php echo $PHP_SELF ?>">
<select name=”cat” onchange=”submit(this.form)”>
<option value=”>Select Category</option>
<?php dropdown_cats(0, ”, ‘name’, ‘asc’, 0, 1, 1, ”, 0, 0); ?>
</select>
</form>
実は、これだけでは足りないのである。 筆者は、Wordpress me で確認しただけなので、本家版がどうなっているか未確認であるが、たぶん同じ現象で、対応も同じで良いと思われる。
1.以下のように書き換える(上記コードと同様)
<form name=”catform” action=”<?php echo $PHP_SELF ?>” class=”postform”>
<select name=”cat” onchange=”submit(this.form)”>
<option value=”>Select Category</option>
<?php dropdown_cats(0, ”, ‘name’, ‘asc’, 0, 1, 1, ”, 0, 0); ?>
</select>
</form>
2.そのままだとselectタグが重複してしまうので、2カ所ほど書き換える
/wp-includes/template-functions-category.php の以下の行をコメントアウトするか削除する。 (Wordpress me 2.0.10 の場合)
210行目付近: echo “<select name=’cat’ class=’postform’>\n”;
232行目付近: echo “</select>\n”;
実際にこのブログでは使用しているので、トップページなどで確認して欲しい。
3.ダウンロード
書き換えたphpファイルを、zipアーカイブでダウンロードできるようにしたので利用して欲しい
wp 2.0.5 用 template-functions-category
wp 2.0.6 用 template-functions-category
wp 2.0.10 用 template-functions-category


