Advertisement
srikat

widget-related-services.php

Jan 26th, 2015
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.48 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4.  * Adds SK_Related_Services_Widget widget.
  5.  */
  6. class SK_Related_Services_Widget extends WP_Widget {
  7.  
  8.     /**
  9.      * Register widget with WordPress.
  10.      */
  11.     function __construct() {
  12.         parent::__construct(
  13.             'related_services', // Base ID
  14.             __( 'Related Services', 'text_domain' ), // Name
  15.             array( 'description' => __( 'Displays the content of Related Services custom field entered in individual Posts', 'text_domain' ), ) // Args
  16.         );
  17.     }
  18.  
  19.     /**
  20.      * Front-end display of widget.
  21.      *
  22.      * @see WP_Widget::widget()
  23.      *
  24.      * @param array $args     Widget arguments.
  25.      * @param array $instance Saved values from database.
  26.      */
  27.     public function widget( $args, $instance ) {
  28.  
  29.         global $post;
  30.    
  31.         $related_services = get_post_meta( $post->ID, 'related_services', true );
  32.        
  33.         if ( empty( $related_services ) ) {
  34.             return;
  35.         }
  36.  
  37.         echo $args['before_widget'];
  38.         if ( ! empty( $instance['title'] ) ) {
  39.             echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];
  40.         }
  41.         // echo __( 'Hello, World!', 'text_domain' );
  42.         echo $related_services;
  43.         echo $args['after_widget'];
  44.     }
  45.  
  46.     /**
  47.      * Back-end widget form.
  48.      *
  49.      * @see WP_Widget::form()
  50.      *
  51.      * @param array $instance Previously saved values from database.
  52.      */
  53.     public function form( $instance ) {
  54.         $title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'Related Services', 'text_domain' );
  55.         ?>
  56.         <p>
  57.         <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
  58.         <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
  59.         </p>
  60.         <?php
  61.     }
  62.  
  63.     /**
  64.      * Sanitize widget form values as they are saved.
  65.      *
  66.      * @see WP_Widget::update()
  67.      *
  68.      * @param array $new_instance Values just sent to be saved.
  69.      * @param array $old_instance Previously saved values from database.
  70.      *
  71.      * @return array Updated safe values to be saved.
  72.      */
  73.     public function update( $new_instance, $old_instance ) {
  74.         $instance = array();
  75.         $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
  76.  
  77.         return $instance;
  78.     }
  79.  
  80. } // class SK_Related_Services_Widget
  81.  
  82. // register SK_Related_Services_Widget widget
  83. function sk_register_related_services_widget() {
  84.     register_widget( 'SK_Related_Services_Widget' );
  85. }
  86. add_action( 'widgets_init', 'sk_register_related_services_widget' );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement