wordpress : Membuat widget custom category dropdown sederhana

Membuat-widget-custom-category-dropdown-sederhana.png
Membuat-widget-custom-category-dropdown-sederhana.png

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.

Published by

2 thoughts on “wordpress : Membuat widget custom category dropdown sederhana”

  1. kartunmania berkata:

    untung aku gak pake… Lha wong nggak dijamin jalan je… wakakakak

    1. Asep Sudiyono berkata:

      yang nyuruh pake juga siapa :gg

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *