Skip to main content

Get Google Calendar Event List in WordPress

<a href="https://console.cloud.google.com/apis/credentials">Get Your Api Credentials Here</a> <a href="https://calendar.google.com/calendar">Get your Calender ID</a> <?php include_once("wp-load.php"); function  get_calender_events() { $params = array(); /*Get current date*/ $current_date  = date('Y-m-d H:i:s'); /*Convert it to google calendar's rfc_format */ $rfc_format = date("c", strtotime($current_date)); $params[] = 'orderBy=startTime'; $params[] ='maxResults=100'; $params[] = 'timeMin='.urlencode($rfc_format); $url_param = ''; foreach($params as $param) { $url_param.= '&'.$param; } $calender_id = "calender_id"; $client_key =  "client_key"; $url = "https://www.googleapis.com/calendar/v3/calendars/".$calender_id."/events?key=".$client_key."&singleEvents=true".$url_param; $list_events = wp_remote_post($url, ...

Create sidebar and widget in WordPress


<?php
/**
 * Contains all the functions related to sidebar and widget.
 *
 */
add_action( 'widgets_init', 'spacious_widgets_init');
/**
 * Function to register the widget areas(sidebar) and widgets.
 */
function spacious_widgets_init() {
 // Registering main right sidebar
 register_sidebar( array(
  'name'     => __( 'Right Sidebar', 'spacious' ),
  'id'      => 'spacious_right_sidebar',
  'description'    => __( 'Shows widgets at Right side.', 'spacious' ),
  'before_widget'  => '<aside id="%1$s" class="widget %2$s">',
  'after_widget'   => '</aside>',
  'before_title'   => '<h3 class="widget-title"><span>',
  'after_title'    => '</span></h3>'
 ) );
 // Registering main left sidebar
 register_sidebar( array(
  'name'     => __( 'Left Sidebar', 'spacious' ),
  'id'      => 'spacious_left_sidebar',
  'description'    => __( 'Shows widgets at Left side.', 'spacious' ),
  'before_widget'  => '<aside id="%1$s" class="widget %2$s">',
  'after_widget'   => '</aside>',
  'before_title'   => '<h3 class="widget-title"><span>',
  'after_title'    => '</span></h3>'
 ) );
 // Registering Header sidebar
 register_sidebar( array(
  'name'     => __( 'Header Sidebar', 'spacious' ),
  'id'      => 'spacious_header_sidebar',
  'description'    => __( 'Shows widgets in header section just above the main navigation menu.', 'spacious' ),
  'before_widget'  => '<aside id="%1$s" class="widget %2$s">',
  'after_widget'   => '</aside>',
  'before_title'   => '<h3 class="widget-title">',
  'after_title'    => '</h3>'
 ) );
 // Registering Business Page template top section sidebar
 register_sidebar( array(
  'name'     => __( 'Business Top Sidebar', 'spacious' ),
  'id'      => 'spacious_business_page_top_section_sidebar',
  'description'    => __( 'Shows widgets on Business Page Template Top Section.', 'spacious' ).' '.__( 'Suitable widget: TG: Services, TG: Call To Action Widget, TG: Featured Widget', 'spacious' ),
  'before_widget'  => '<section id="%1$s" class="widget %2$s clearfix">',
  'after_widget'   => '</section>',
  'before_title'   => '<h3 class="widget-title">',
  'after_title'    => '</h3>'
 ) );
 // Registering Business Page template middle section left half sidebar
 register_sidebar( array(
  'name'     => __( 'Business Middle Left Sidebar', 'spacious' ),
  'id'      => 'spacious_business_page_middle_section_left_half_sidebar',
  'description'    => __( 'Shows widgets on Business Page Template Middle Section Left Half.', 'spacious' ).' '.__( 'Suitable widget: TG: Testimonial, TG: Featured Single Page', 'spacious' ),
  'before_widget'  => '<section id="%1$s" class="widget %2$s clearfix">',
  'after_widget'   => '</section>',
  'before_title'   => '<h3 class="widget-title">',
  'after_title'    => '</h3>'
 ) );
 // Registering Business Page template middle section right half sidebar
 register_sidebar( array(
  'name'     => __( 'Business Middle Right Sidebar', 'spacious' ),
  'id'      => 'spacious_business_page_middle_section_right_half_sidebar',
  'description'    => __( 'Shows widgets on Business Page Template Middle Section Right Half.', 'spacious' ).' '.__( 'Suitable widget: TG: Testimonial, TG: Featured Single Page', 'spacious' ),
  'before_widget'  => '<section id="%1$s" class="widget %2$s clearfix">',
  'after_widget'   => '</section>',
  'before_title'   => '<h3 class="widget-title">',
  'after_title'    => '</h3>'
 ) );

 // Registering Business Page template bottom section sidebar
 register_sidebar( array(
  'name'     => __( 'Business Bottom Sidebar', 'spacious' ),
  'id'      => 'spacious_business_page_bottom_section_sidebar',
  'description'    => __( 'Shows widgets on Business Page Template Bottom Section.', 'spacious' ).' '.__( 'Suitable widget: TG: Services, TG: Call To Action Widget, TG: Featured Widget', 'spacious' ),
  'before_widget'  => '<section id="%1$s" class="widget %2$s clearfix">',
  'after_widget'   => '</section>',
  'before_title'   => '<h3 class="widget-title">',
  'after_title'    => '</h3>'
 ) );
 // Registering contact Page sidebar
 register_sidebar( array(
  'name'     => __( 'Contact Page Sidebar', 'spacious' ),
  'id'      => 'spacious_contact_page_sidebar',
  'description'    => __( 'Shows widgets on Contact Page Template.', 'spacious' ),
  'before_widget'  => '<aside id="%1$s" class="widget %2$s">',
  'after_widget'   => '</aside>',
  'before_title'   => '<h3 class="widget-title"><span>',
  'after_title'    => '</span></h3>'
 ) );
 // Registering Error 404 Page sidebar
 register_sidebar( array(
  'name'     => __( 'Error 404 Page Sidebar', 'spacious' ),
  'id'      => 'spacious_error_404_page_sidebar',
  'description'    => __( 'Shows widgets on Error 404 page.', 'spacious' ),
  'before_widget'  => '<aside id="%1$s" class="widget %2$s">',
  'after_widget'   => '</aside>',
  'before_title'   => '<h3 class="widget-title"><span>',
  'after_title'    => '</span></h3>'
 ) );
 // Registering footer sidebar one
 register_sidebar( array(
  'name'     => __( 'Footer Sidebar One', 'spacious' ),
  'id'      => 'spacious_footer_sidebar_one',
  'description'    => __( 'Shows widgets at footer sidebar one.', 'spacious' ),
  'before_widget'  => '<aside id="%1$s" class="widget %2$s">',
  'after_widget'   => '</aside>',
  'before_title'   => '<h3 class="widget-title"><span>',
  'after_title'    => '</span></h3>'
 ) );
 // Registering footer sidebar two
 register_sidebar( array(
  'name'     => __( 'Footer Sidebar Two', 'spacious' ),
  'id'      => 'spacious_footer_sidebar_two',
  'description'    => __( 'Shows widgets at footer sidebar two.', 'spacious' ),
  'before_widget'  => '<aside id="%1$s" class="widget %2$s">',
  'after_widget'   => '</aside>',
  'before_title'   => '<h3 class="widget-title"><span>',
  'after_title'    => '</span></h3>'
 ) );
 // Registering footer sidebar three
 register_sidebar( array(
  'name'     => __( 'Footer Sidebar Three', 'spacious' ),
  'id'      => 'spacious_footer_sidebar_three',
  'description'    => __( 'Shows widgets at footer sidebar three.', 'spacious' ),
  'before_widget'  => '<aside id="%1$s" class="widget %2$s">',
  'after_widget'   => '</aside>',
  'before_title'   => '<h3 class="widget-title"><span>',
  'after_title'    => '</span></h3>'
 ) );
 // Registering footer sidebar four
 register_sidebar( array(
  'name'     => __( 'Footer Sidebar Four', 'spacious' ),
  'id'      => 'spacious_footer_sidebar_four',
  'description'    => __( 'Shows widgets at footer sidebar four.', 'spacious' ),
  'before_widget'  => '<aside id="%1$s" class="widget %2$s">',
  'after_widget'   => '</aside>',
  'before_title'   => '<h3 class="widget-title"><span>',
  'after_title'    => '</span></h3>'
 ) );
 // Registering widgets
 register_widget( "spacious_featured_single_page_widget" );
 register_widget( "spacious_service_widget" );
 register_widget( "spacious_call_to_action_widget" );
 register_widget( "spacious_testimonial_widget" );
 register_widget( "spacious_recent_work_widget" );
}
/****************************************************************************************/
/**
 * Featured Single page widget.
 *
 */
 class spacious_featured_single_page_widget extends WP_Widget {
  function __construct() {
   $widget_ops = array( 'classname' => 'widget_featured_single_post', 'description' => __( 'Display Featured Single Page', 'spacious' ) );
  $control_ops = array( 'width' => 200, 'height' =>250 );
  parent::__construct( false, $name='TG: Featured Single Page', $widget_ops, $control_ops);
  }
  function form( $instance ) {
   $instance = wp_parse_args( (array) $instance, array( 'page_id' => '', 'title' => '', 'disable_feature_image' => 0, 'image_position' => 'above' ) );
  $title = esc_attr( $instance[ 'title' ] );
  $page_id = absint( $instance[ 'page_id' ] );
  $disable_feature_image = $instance['disable_feature_image'] ? 'checked="checked"' : '';
  $image_position = $instance[ 'image_position' ];
  _e( 'Suitable for Home Top Sidebar, Home Bottom Left Sidebar and Side Sidbar.', 'spacious' );
 ?>
  <p>
   <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title:', 'spacious' ); ?></label>
   <input id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" />
  </p>
  <p><?php _e( 'Displays the title of the Page if title input is empty.', 'spacious' ); ?></p>
  <p>
   <label for="<?php echo $this->get_field_id( 'page_id' ); ?>"><?php _e( 'Page', 'spacious' ); ?>:</label>
   <?php wp_dropdown_pages( array( 'name' => $this->get_field_name( 'page_id' ), 'selected' => $instance['page_id'] ) ); ?>
  </p>
  <p>
   <input class="checkbox" type="checkbox" <?php echo $disable_feature_image; ?> id="<?php echo $this->get_field_id('disable_feature_image'); ?>" name="<?php echo $this->get_field_name('disable_feature_image'); ?>" /> <label for="<?php echo $this->get_field_id('disable_feature_image'); ?>"><?php _e( 'Remove Featured image', 'spacious' ); ?></label>
  </p>
     <?php if( $image_position == 'above' ) { ?>
  <p>
      <input type="radio" id="<?php echo $this->get_field_id( 'image_position' ); ?>" name="<?php echo $this->get_field_name( 'image_position' ); ?>" value="above" style="" checked /><?php _e( 'Show Image Before Title', 'spacious' );?><br />
      <input type="radio" id="<?php echo $this->get_field_id( 'image_position' ); ?>" name="<?php echo $this->get_field_name( 'image_position' ); ?>" value="below" style="" /><?php _e( 'Show Image After Title', 'spacious' );?><br />
  </p>
  <?php } else { ?>
  <p>
      <input type="radio" id="<?php echo $this->get_field_id( 'image_position' ); ?>" name="<?php echo $this->get_field_name( 'image_position' ); ?>" value="above" style="" /><?php _e( 'Show Image Before Title', 'spacious' );?><br />
      <input type="radio" id="<?php echo $this->get_field_id( 'image_position' ); ?>" name="<?php echo $this->get_field_name( 'image_position' ); ?>" value="below" style="" checked /><?php _e( 'Show Image After Title', 'spacious' );?><br />
  </p>
  <?php } ?>
 <?php
 }
 function update( $new_instance, $old_instance ) {
  $instance = $old_instance;
  $instance[ 'title' ] = strip_tags( $new_instance[ 'title' ] );
  $instance[ 'page_id' ] = absint( $new_instance[ 'page_id' ] );
  $instance[ 'disable_feature_image' ] = isset( $new_instance[ 'disable_feature_image' ] ) ? 1 : 0;
  $instance[ 'image_position' ] = $new_instance[ 'image_position' ];
  return $instance;
 }
 function widget( $args, $instance ) {
   extract( $args );
   extract( $instance );
   global $post;
   $title = isset( $instance[ 'title' ] ) ? $instance[ 'title' ] : '';
   $page_id = isset( $instance[ 'page_id' ] ) ? $instance[ 'page_id' ] : '';
   $disable_feature_image = !empty( $instance[ 'disable_feature_image' ] ) ? 'true' : 'false';
   $image_position = isset( $instance[ 'image_position' ] ) ? $instance[ 'image_position' ] : 'above' ;
   if( $page_id ) {
    $the_query = new WP_Query( 'page_id='.$page_id );
    while( $the_query->have_posts() ):$the_query->the_post();
     $page_name = get_the_title();
    $output = $before_widget;
    if( $image_position == "below" ) {
     if( $title ): $output .= $before_title.'<a href="' . get_permalink() . '" title="'.$title.'">'. $title .'</a>'.$after_title;
     else: $output .= $before_title.'<a href="' . get_permalink() . '" title="'.$page_name.'">'. $page_name .'</a>'.$after_title;
     endif;
    }
    if( has_post_thumbnail() && $disable_feature_image != "true" ) {
     $output.= '<div class="service-image">'.get_the_post_thumbnail( $post->ID, 'featured', array( 'title' => esc_attr( $page_name ), 'alt' => esc_attr( $page_name ) ) ).'</div>';
    }
    if( $image_position == "above" ) {
     if( $title ): $output .= $before_title.'<a href="' . get_permalink() . '" title="'.$title.'">'. $title .'</a>'.$after_title;
     else: $output .= $before_title.'<a href="' . get_permalink() . '" title="'.$page_name.'">'. $page_name .'</a>'.$after_title;
     endif;
    }
   $output .= '<p>'.get_the_excerpt().'</p>';
   $output .= '<a class="read-more" href="'. get_permalink() .'">'.__( 'Read more', 'spacious' ).'</a>';
    $output .= $after_widget;
    endwhile;
    // Reset Post Data
    wp_reset_postdata();
    echo $output;
   }
  }
}
/****************************************************************************************/
/**
 * Featured service widget to show pages.
 */
class spacious_service_widget extends WP_Widget {
  function __construct() {
   $widget_ops = array( 'classname' => 'widget_service_block', 'description' => __( 'Display some pages as services. Best for Business Top or Bottom sidebar.', 'spacious' ) );
  $control_ops = array( 'width' => 200, 'height' =>250 );
  parent::__construct( false, $name = __( 'TG: Services', 'spacious' ), $widget_ops, $control_ops);
  }
  function form( $instance ) {
   for ( $i=0; $i<6; $i++ ) {
    $var = 'page_id'.$i;
    $defaults[$var] = '';
   }
   $instance = wp_parse_args( (array) $instance, $defaults );
   for ( $i=0; $i<6; $i++ ) {
    $var = 'page_id'.$i;
    $var = absint( $instance[ $var ] );
  }
 ?>
  <?php for( $i=0; $i<6; $i++) { ?>
   <p>
    <label for="<?php echo $this->get_field_id( key($defaults) ); ?>"><?php _e( 'Page', 'spacious' ); ?>:</label>
    <?php wp_dropdown_pages( array( 'show_option_none' =>' ','name' => $this->get_field_name( key($defaults) ), 'selected' => $instance[key($defaults)] ) ); ?>
   </p>
  <?php
  next( $defaults );// forwards the key of $defaults array
  }
 }
 function update( $new_instance, $old_instance ) {
  $instance = $old_instance;
  for( $i=0; $i<6; $i++ ) {
   $var = 'page_id'.$i;
   $instance[ $var] = absint( $new_instance[ $var ] );
  }
  return $instance;
 }
 function widget( $args, $instance ) {
   extract( $args );
   extract( $instance );
   global $post;
   $page_array = array();
   for( $i=0; $i<6; $i++ ) {
    $var = 'page_id'.$i;
    $page_id = isset( $instance[ $var ] ) ? $instance[ $var ] : '';
    if( !empty( $page_id ) )
     array_push( $page_array, $page_id );// Push the page id in the array
   }
  $get_featured_pages = new WP_Query( array(
   'posts_per_page'    => -1,
   'post_type'     =>  array( 'page' ),
   'post__in'      => $page_array,
   'orderby'       => 'post__in'
  ) );
  echo $before_widget; ?>
   <?php
   $j = 1;
    while( $get_featured_pages->have_posts() ):$get_featured_pages->the_post();
    $page_title = get_the_title();
    if( $j % 2 == 1 && $j > 1 ) {
     $service_class = "tg-one-third";
    }
    elseif ( $j % 3 == 1 && $j > 1 ) {
     $service_class = "tg-one-third tg-after-three-blocks-clearfix";
    }
    else {
     $service_class = "tg-one-third";
    }
    ?>
    <div class="<?php echo $service_class; ?>">
     <?php
     if ( has_post_thumbnail() ) {
      echo'<div class="service-image">'.get_the_post_thumbnail( $post->ID, 'featured' ).'</div>';
     }
     ?>
     <?php echo $before_title; ?><a title="<?php the_title_attribute(); ?>" href="<?php the_permalink(); ?>"><?php echo $page_title; ?></a><?php echo $after_title; ?>
     <?php the_excerpt(); ?>
     <div class="more-link-wrap">
      <a class="more-link" title="<?php the_title_attribute(); ?>" href="<?php the_permalink(); ?>"><?php _e( 'Read more','spacious' ); ?></a>
     </div>
    </div>
    <?php $j++; ?>
   <?php endwhile;
    // Reset Post Data
    wp_reset_query();
    ?>
  <?php
  echo $after_widget;
  }
 }
/**************************************************************************************/
/**
 * Featured call to action widget.
 */
class spacious_call_to_action_widget extends WP_Widget {
  function __construct() {
   $widget_ops = array( 'classname' => 'widget_call_to_action', 'description' => __( 'Use this widget to show the call to action section.', 'spacious' ) );
  $control_ops = array( 'width' => 200, 'height' =>250 );
  parent::__construct( false, $name = __( 'TG: Call To Action Widget', 'spacious' ), $widget_ops, $control_ops);
  }
  function form( $instance ) {
   $spacious_defaults[ 'text_main' ] = '';
   $spacious_defaults[ 'text_additional' ] = '';
   $spacious_defaults[ 'button_text' ] = '';
   $spacious_defaults[ 'button_url' ] = '';
   $instance = wp_parse_args( (array) $instance, $spacious_defaults );
  $text_main = esc_textarea( $instance[ 'text_main' ] );
  $text_additional = esc_textarea( $instance[ 'text_additional' ] );
  $button_text = esc_attr( $instance[ 'button_text' ] );
  $button_url = esc_url( $instance[ 'button_url' ] );
  ?>

  <?php _e( 'Call to Action Main Text','spacious' ); ?>
  <textarea class="widefat" rows="3" cols="20" id="<?php echo $this->get_field_id('text_main'); ?>" name="<?php echo $this->get_field_name('text_main'); ?>"><?php echo $text_main; ?></textarea>
  <?php _e( 'Call to Action Additional Text','spacious' ); ?>
  <textarea class="widefat" rows="3" cols="20" id="<?php echo $this->get_field_id('text_additional'); ?>" name="<?php echo $this->get_field_name('text_additional'); ?>"><?php echo $text_additional; ?></textarea>
  <p>
   <label for="<?php echo $this->get_field_id('button_text'); ?>"><?php _e( 'Button Text:', 'spacious' ); ?></label>
   <input id="<?php echo $this->get_field_id('button_text'); ?>" name="<?php echo $this->get_field_name('button_text'); ?>" type="text" value="<?php echo $button_text; ?>" />
  </p>
  <p>
   <label for="<?php echo $this->get_field_id('button_url'); ?>"><?php _e( 'Button Redirect Link:', 'spacious' ); ?></label>
   <input id="<?php echo $this->get_field_id('button_url'); ?>" name="<?php echo $this->get_field_name('button_url'); ?>" type="text" value="<?php echo $button_url; ?>" />
  </p>
  <?php
 }
 function update( $new_instance, $old_instance ) {
  $instance = $old_instance;
  if ( current_user_can('unfiltered_html') )
   $instance['text_main'] =  $new_instance['text_main'];
  else
   $instance['text_main'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['text_main']) ) ); // wp_filter_post_kses() expects slashed
  if ( current_user_can('unfiltered_html') )
   $instance['text_additional'] =  $new_instance['text_additional'];
  else
   $instance['text_additional'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['text_additional']) ) ); // wp_filter_post_kses() expects slashed
  $instance[ 'button_text' ] = strip_tags( $new_instance[ 'button_text' ] );
  $instance[ 'button_url' ] = esc_url_raw( $new_instance[ 'button_url' ] );
  return $instance;
 }
 function widget( $args, $instance ) {
   extract( $args );
   extract( $instance );
   global $post;
   $text_main = empty( $instance['text_main'] ) ? '' : $instance['text_main'];
   $text_additional = empty( $instance['text_additional'] ) ? '' : $instance['text_additional'];
   $button_text = isset( $instance[ 'button_text' ] ) ? $instance[ 'button_text' ] : '';
   $button_url = isset( $instance[ 'button_url' ] ) ? $instance[ 'button_url' ] : '#';
  echo $before_widget;
  ?>
   <div class="call-to-action-content-wrapper clearfix">
    <div class="call-to-action-content">
     <?php
     if( !empty( $text_main ) ) {
     ?>
     <h3><?php echo esc_html( $text_main ); ?></h3>
     <?php
     }
     if( !empty( $text_additional ) ) {
     ?>
     <p><?php echo esc_html( $text_additional ); ?></p>
     <?php
     }
     ?>
    </div>
    <?php
    if( !empty( $button_text ) ) {
    ?>
     <a class="call-to-action-button" href="<?php echo $button_url; ?>" title="<?php echo esc_attr( $button_text ); ?>"><?php echo esc_html( $button_text ); ?></a>
    <?php
    }
    ?>
   </div>
  <?php
  echo $after_widget;
  }
 }
/**************************************************************************************/
 /**
 * Testimonial widget
 */
class spacious_testimonial_widget extends WP_Widget {
 function __construct() {
   $widget_ops = array( 'classname' => 'widget_testimonial', 'description' => __( 'Display Testimonial', 'spacious' ) );
  $control_ops = array( 'width' => 200, 'height' =>250 );
  parent::__construct( false, $name = __( 'TG: Testimonial', 'spacious' ), $widget_ops, $control_ops);
  }
 function widget( $args, $instance ) {
  extract($args);
  $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
  $text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance );
  $name = apply_filters( 'widget_name', empty( $instance['name'] ) ? '' : $instance['name'], $instance, $this->id_base );
  $byline = apply_filters( 'widget_byline', empty( $instance['byline'] ) ? '' : $instance['byline'], $instance, $this->id_base );
  echo $before_widget;
  if ( !empty( $title ) ) { echo $before_title. esc_html( $title ) . $after_title; } ?>
  <div class="testimonial-icon"></div>
  <div class="testimonial-post"><?php echo '<p>'.esc_textarea( $text ).'</p>'; ?></div>
  <div class="testimonial-author">
   <span><?php echo esc_html( $name ); ?></span>
   <?php echo esc_html( $byline ); ?>
  </div>
  <?php
  echo $after_widget;
 }
 function update( $new_instance, $old_instance ) {
  $instance = $old_instance;
  $instance['title'] = strip_tags($new_instance['title']);
  $instance['name'] = strip_tags($new_instance['name']);
  $instance['byline'] = strip_tags($new_instance['byline']);
  if ( current_user_can('unfiltered_html') )
   $instance['text'] =  $new_instance['text'];
  else
   $instance['text'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['text']) ) ); // wp_filter_post_kses() expects slashed
  $instance['filter'] = isset($new_instance['filter']);
  return $instance;
 }
 function form( $instance ) {
  $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'text' => '', 'name' =>'', 'byline'=>'' ) );
  $title = strip_tags($instance['title']);
  $name = strip_tags($instance['name']);
  $byline = strip_tags($instance['byline']);
  $text = esc_textarea($instance['text']);
?>
  <p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title:', 'spacious' ); ?></label>
  <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); ?>" /></p>
  <?php _e( 'Testimonial Description','spacious'); ?>
  <textarea class="widefat" rows="8" cols="20" id="<?php echo $this->get_field_id('text'); ?>" name="<?php echo $this->get_field_name('text'); ?>"><?php echo $text; ?></textarea>
  <p><label for="<?php echo $this->get_field_id('name'); ?>"><?php _e( 'Name:', 'spacious' ); ?></label>
  <input class="widefat" id="<?php echo $this->get_field_id('name'); ?>" name="<?php echo $this->get_field_name('name'); ?>" type="text" value="<?php echo esc_attr($name); ?>" /></p>
  <p><label for="<?php echo $this->get_field_id('byline'); ?>"><?php _e( 'Byline:', 'spacious' ); ?></label>
  <input class="widefat" id="<?php echo $this->get_field_id('byline'); ?>" name="<?php echo $this->get_field_name('byline'); ?>" type="text" value="<?php echo esc_attr($byline); ?>" /></p>
<?php
 }
}
/**************************************************************************************/
/**
 * Featured recent work widget to show pages.
 */
 class spacious_recent_work_widget extends WP_Widget {
  function __construct() {
   $widget_ops = array( 'classname' => 'widget_recent_work', 'description' => __( 'Show your some pages as recent work. Best for Business Top or Bottom sidebar.', 'spacious' ) );
  $control_ops = array( 'width' => 200, 'height' =>250 );
  parent::__construct( false, $name = __( 'TG: Featured Widget', 'spacious' ), $widget_ops, $control_ops);
  }
  function form( $instance ) {
   for ( $i=0; $i<3; $i++ ) {
    $var = 'page_id'.$i;
    $defaults[$var] = '';
   }
   $att_defaults = $defaults;
   $att_defaults['title'] = '';
   $att_defaults['text'] = '';
   $instance = wp_parse_args( (array) $instance, $att_defaults );
   for ( $i=0; $i<3; $i++ ) {
    $var = 'page_id'.$i;
    $var = absint( $instance[ $var ] );
  }
  $title = esc_attr( $instance[ 'title' ] );
  $text = esc_textarea($instance['text']);
  ?>
  <p>
   <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title:', 'spacious' ); ?></label>
   <input id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" />
  </p>
  <?php _e( 'Description','spacious' ); ?>
  <textarea class="widefat" rows="10" cols="20" id="<?php echo $this->get_field_id('text'); ?>" name="<?php echo $this->get_field_name('text'); ?>"><?php echo $text; ?></textarea>
  <?php
  for( $i=0; $i<3; $i++) {
   ?>
   <p>
    <label for="<?php echo $this->get_field_id( key($defaults) ); ?>"><?php _e( 'Page', 'spacious' ); ?>:</label>
    <?php wp_dropdown_pages( array( 'show_option_none' =>' ','name' => $this->get_field_name( key($defaults) ), 'selected' => $instance[key($defaults)] ) ); ?>
   </p>
  <?php
  next( $defaults );// forwards the key of $defaults array
  }
 }
 function update( $new_instance, $old_instance ) {
  $instance = $old_instance;
  $instance[ 'title' ] = strip_tags( $new_instance[ 'title' ] );
  for( $i=0; $i<3; $i++ ) {
   $var = 'page_id'.$i;
   $instance[ $var] = absint( $new_instance[ $var ] );
  }
  if ( current_user_can('unfiltered_html') )
   $instance['text'] =  $new_instance['text'];
  else
   $instance['text'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['text']) ) ); // wp_filter_post_kses() expects slashed
  $instance['filter'] = isset($new_instance['filter']);
  return $instance;
 }
 function widget( $args, $instance ) {
   extract( $args );
   extract( $instance );
   global $post;
   $title = isset( $instance[ 'title' ] ) ? $instance[ 'title' ] : '';
   $text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance );
   $page_array = array();
   for( $i=0; $i<3; $i++ ) {
    $var = 'page_id'.$i;
    $page_id = isset( $instance[ $var ] ) ? $instance[ $var ] : '';
    if( !empty( $page_id ) )
     array_push( $page_array, $page_id );// Push the page id in the array
   }
  $get_featured_pages = new WP_Query( array(
   'posts_per_page'    => -1,
   'post_type'     =>  array( 'page' ),
   'post__in'      => $page_array,
   'orderby'       => 'post__in'
  ) );
  echo $before_widget;
  ?>
   <div class="tg-one-fourth tg-column-1">
    <?php
    if ( !empty( $title ) ) { echo $before_title . esc_html( $title ) . $after_title; } ?>
    <p><?php echo esc_textarea( $text ); ?></p>
   </div>
    <?php
     $i=2;
     while( $get_featured_pages->have_posts() ):$get_featured_pages->the_post();
      if ( $i % 4 == 0 ) { $class = 'tg-one-fourth tg-one-fourth-last'.' tg-column-'.$i; }
      elseif( $i % 3 == 0 ) { $class= 'tg-one-fourth tg-after-two-blocks-clearfix'.' tg-column-'.$i; }
      else { $class = 'tg-one-fourth'.' tg-column-'.$i; }
     $page_title = get_the_title();
     ?>
     <div class="<?php echo $class; ?>">
      <?php
      if ( has_post_thumbnail( ) ) {
       echo '<div class="service-image"><a title="'.get_the_title().'" href="'.get_permalink().'">'.get_the_post_thumbnail( $post->ID,'featured-blog-medium').'</a></div>';
      }
      ?>
     </div>
    <?php
     $i++;
    endwhile;
     // Reset Post Data
     wp_reset_query();
     ?>
  <?php echo $after_widget;
   }
  }
/**************************************************************************************/
?>

Comments

Popular posts from this blog

Create Signature pad with save on database in php

Create Signature pad with save on database in php 1.create a folder images index.php ============   <!DOCTYPE >     <head>     <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />     <title>Signature Pad</title>     <script type="text/javascript" src="jquery-1.8.0.min.js"></script>     <script type="text/javascript"> $(document).ready(function () {     /** Set Canvas Size **/     var canvasWidth = 400;     var canvasHeight = 100;     /** IE SUPPORT **/     var canvasDiv = document.getElementById('signaturePad');     canvas = document.createElement('canvas');     canvas.setAttribute('width', canvasWidth);     canvas.setAttribute('height', canvasHeight);     canvas.setAttribute('id', 'canvas');     canvasDiv.appendChild(canvas);    ...

Get Google Calendar Event List in WordPress

<a href="https://console.cloud.google.com/apis/credentials">Get Your Api Credentials Here</a> <a href="https://calendar.google.com/calendar">Get your Calender ID</a> <?php include_once("wp-load.php"); function  get_calender_events() { $params = array(); /*Get current date*/ $current_date  = date('Y-m-d H:i:s'); /*Convert it to google calendar's rfc_format */ $rfc_format = date("c", strtotime($current_date)); $params[] = 'orderBy=startTime'; $params[] ='maxResults=100'; $params[] = 'timeMin='.urlencode($rfc_format); $url_param = ''; foreach($params as $param) { $url_param.= '&'.$param; } $calender_id = "calender_id"; $client_key =  "client_key"; $url = "https://www.googleapis.com/calendar/v3/calendars/".$calender_id."/events?key=".$client_key."&singleEvents=true".$url_param; $list_events = wp_remote_post($url, ...

WooCommerce Mini cart With Ajax

WooCommerce Mini cart //MINI CART SECTION   <div class="productdiv rightcart">                                                         <?php if ( ! WC()->cart->is_empty() ) : ?>     <ul class="woocommerce-mini-cart cart_list product_list_widget <?php echo esc_attr( $args['list_class'] ); ?>">         <?php             do_action( 'woocommerce_before_mini_cart_contents' );             foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {                 $_product     = apply_filters( 'woocommerce_cart_item_pro...