WordPress : Membuat widget custom category dropdown sederhana. Custom category Dropdown widget ini akan mengembalikan category id menjadi nice name / slug, sehingga setelah dipilih salah satu category pada dropdown maka anda akan dibawa ke permalink dari category tersebut, namun apabila anda tidak memakai permalink maka anda akan dibawa ke halaman dengan url yang terdapat ?cat=idcategory di dalamnya.
Bukannya saya bisa atau pandai bergelut dengan wordpress, tapi kebetulan tadi sore kepikiran pengin update blog ecek ecek ini. Waktu tadi sore ngotak atik file funtions.php milik mendoan.us (sekarang All Song Lyrics) kepikiran update post tentang widget wordpress. Tidak dipakai juga tidak apa apa, dari pada di pendem di otak malah bisa lupa (kalau yang udah jadi master wp mending langsung cabut aja gak usah baca :D ).
Yang pengin nyoba silahkan kopi dan paste ke functions.php milik theme yang anda pakai code ini :
?php add_action( 'widgets_init', 'cstm_dropdown_category_load_widgets' ); if(!function_exists("cstm_dropdown_category_load_widgets")){ function cstm_dropdown_category_load_widgets() { register_widget( 'cstm_dropdown_category_Widget' ); } } class cstm_dropdown_category_Widget extends WP_Widget { function cstm_dropdown_category_Widget() { $widget_ops = array( 'classname' => 'cstm_dropdown_category', 'description' => __('Custom dropdown category return the permalink / nice url for your category from dopdown widget by securesh :D .', 'cstm_dropdown_category') ); $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'cstm_dropdown_category-widget' ); $this->WP_Widget( 'cstm_dropdown_category-widget', __('Custom Dropdown Category Widget', 'cstm_dropdown_category'), $widget_ops, $control_ops ); } function widget( $args, $instance ) { extract( $args ); $title = apply_filters('widget_title', $instance['title'] ); echo $before_widget; if ( $title ) echo $before_title . $title . $after_title; ?> <select name="securesh-return-permalink-cat-dropdown" id="securesh-return-permalink-cat-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <option value=""><?php echo esc_attr(__('-Artist-')); ?></option> <?php $categories= get_categories(); foreach ($categories as $category) { if ( get_option('permalink_structure') != '' ) { $urlsekarang = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; $selectedcat= $urlsekarang; if(get_category_link( $category->term_id )==$selectedcat){ $option = '<option selected value="'.get_category_link( $category->term_id ).'">';} else{ $option = '<option value="'.get_category_link( $category->term_id ).'">';} }else{ $selectedcat= $_GET['cat']; if($category->cat_ID==$selectedcat){ $option = '<option selected value="'.get_option('home').'/?cat='.$category->cat_ID.'">'; } else{$option = '<option value="'.get_option('home').'/?cat='.$category->cat_ID.'">';} } $option .= $category->cat_name; $option .= '</option>'; echo $option; } ?> </select> <?php echo $after_widget; } function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags( $new_instance['title'] ); return $instance; } function form( $instance ) { $defaults = array( 'title' => __('Category', 'cstm_dropdown_category') ); $instance = wp_parse_args( (array) $instance, $defaults ); ?> <p> <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e('Title:', 'hybrid'); ?></label> <input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="width:100%;" /> </p> <?php } } ?>
Kalo anda sukses berarti anda gak sia sia membaca wordpress : Membuat widget custom category dropdown sederhana.
untung aku gak pake… Lha wong nggak dijamin jalan je… wakakakak
yang nyuruh pake juga siapa :gg