[2007/05/21] WordPress:カテゴリーをドロップダウンで表示させるプラグイン Zelig Dropdown Cats
カテゴリーをドロップダウンで表現するためのプラグイン。 Zelig Dropdown Cats の設置とカスタマイズについて。
上記ページからダウンロードし、プラグインフォルダにインストールして有効化。 あとは表示させたい場所(サイドメニューなど)に次のコードを記述するだけ。
<?php zelig_dropdown_cats(); ?>
パラメーターは次の通り(開発元ページから引用)
カスタマイズ:ボタンクリックでリンクする
プルダウンを選択するだけでリンク先に飛んでしまうという挙動が個人的にイヤでGOボタンを追加。変更点は次の通り。
zeling-dropdown-cats.php 変更前
$thelist .= '<form id="catform' . $rand . '" action="">' . "\n";
$thelist .= '<select name="archive_chrono" onchange="window.location=(document.forms.catform' . $rand . '.archive_chrono[document.forms.catform' . $rand . '.archive_chrono.selectedIndex].value);"' . $boxlimit . "\n";
if ( $title )
$thelist .= '<option value="">' . $title . '</option>' . "\n";
foreach ($categories as $category) {
if (intval($hide_empty) == 0 || isset($category_posts["$category->cat_ID"])) {
$num_found++;
$link = '"'.get_category_link($category->cat_ID).'"';
$link .= '>';
$link .= apply_filters('list_cats', $category->cat_name, $category);
if ( intval($post_count) == 1 )
$link .= ' ('.intval($category->category_count).')';
$thelist .= "\t<option value=$link</option>\n";
}
}
$thelist .= '</select>
' . "\n";
$thelist .= '</form>' . "\n";
変更後
$thelist .= '<form id="catform' . $rand . '" action="">' . "\n";
$thelist .= '<select name="archive_chrono"' . $boxlimit . "\n";
if ( $title )
$thelist .= '<option value="">' . $title . '</option>' . "\n";
foreach ($categories as $category) {
if (intval($hide_empty) == 0 || isset($category_posts["$category->cat_ID"])) {
$num_found++;
$link = '"'.get_category_link($category->cat_ID).'"';
$link .= '>';
$link .= apply_filters('list_cats', $category->cat_name, $category);
if ( intval($post_count) == 1 )
$link .= ' ('.intval($category->category_count).')';
$thelist .= "\t<option value=$link</option>\n";
}
}
$thelist .= '</select> <input type="button" onClick="window.location=(document.forms.catform' . $rand . '.archive_chrono[document.forms.catform' . $rand . '.archive_chrono.selectedIndex].value);" value="GO" />
' . "\n";
$thelist .= '</form>' . "\n";