この質問と同様に、ドロップキックと呼ばれるドロップダウン プラグインを使用したいと思います。これは、選択メニューを見栄えの良いカスタム ドロップダウンに置き換えます。今回はワードプレスのアーカイブをドロップダウンに入れたいと思います。これを行う標準的な方法は次のようになります。
<select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value=""><?php echo esc_attr( __( 'Select Month' ) ); ?></option>
<?php wp_get_archives( 'type=monthly&format=option&show_post_count=1' ); ?>
</select>
この手法をドロップキックに適応させるために、php の onchange js 部分を削除して、次のようにします。
<form action="???" method="get" class="prettyArchive">
<select>
<option value=""><?php echo esc_attr( __( 'Select Month' ) ); ?></option>
<?php wp_get_archives( 'type=monthly&format=option&show_post_count=1' ); ?>
</select>
</form>
このドロップダウンを「きれいなドロップダウン」に変換するjqueryは次のとおりです。
$('.prettyArchive select').dropkick({
theme: 'default',
change: function (value, label) {
INSERT CALLBACK HERE
}
});
上記の onchange イベントをエミュレートするコールバックが必要です。フォームを送信する必要はないと思いますが、変更時にページを更新しますか? これについてどうすればよいかよくわかりません。何か案は?