* * @wordpress-plugin * Plugin Name: Canuck Author Widget * Plugin URI: http://kevinsspace.ca/canuckdemo/ * Description: A widget for the Canuck Theme that displays a flex slider. * Version: 1.0.0 * Author: Kevin Archibald * Author URI: http://kevinsspace.ca/ * License: GPLv2 or later * License URI: http://www.gnu.org/licenses/gpl-2.0.txt */ // Use widgets_init action hook to execute custom function. add_action( 'widgets_init', 'canuck_slider_register_widget' ); /** * Register our widget. */ function canuck_slider_register_widget() { register_widget( 'Canuck_Slider_Widget' ); } /** * Widget Class */ class Canuck_Slider_Widget extends WP_Widget { /** * Sets up the widgets name etc. */ public function __construct() { $widget_ops = array( 'classname' => 'canuck_slider_widget_class', 'description' => esc_html__( 'Display slider of featured images', 'canuck' ), ); parent::__construct( 'canuck_slider_widget', esc_html__( 'Canuck Slider Widget', 'canuck' ), $widget_ops ); } /** * Outputs the options form on admin * * @param array $instance The widget options. */ public function form( $instance ) { $canuck_slider_defaults = array( 'canuck_slider_title' => __( 'Canuck Flex Slider', 'canuck' ), 'canuck_slider_type' => 'button nav', 'canuck_slider_category' => __( 'feature 1', 'canuck' ), 'canuck_slider_animation' => 'fade', 'canuck_slider_pause' => '6000', 'canuck_slider_transition' => '500', 'canuck_slider_auto' => true, 'canuck_include_post_titles' => false, ); $instance = wp_parse_args( (array) $instance, $canuck_slider_defaults ); $title = $instance['canuck_slider_title']; $slider_type = $instance['canuck_slider_type']; $slider_category = $instance['canuck_slider_category']; $slider_animation = $instance['canuck_slider_animation']; $slider_pause = $instance['canuck_slider_pause']; $slider_transition = $instance['canuck_slider_transition']; $slider_auto = $instance['canuck_slider_auto'] ? true : false; $include_post_titles = $instance['canuck_include_post_titles'] ? true : false; ?>

/>

/>

id_base ); isset( $instance['canuck_slider_type'] ) ? $slider_type = $instance['canuck_slider_type'] : $slider_type = 'button_nav'; isset( $instance['canuck_slider_category'] ) ? $slider_category = $instance['canuck_slider_category'] : $slider_category = __( 'feature 1', 'canuck' ); isset( $instance['canuck_slider_animation'] ) ? $slider_animation = $instance['canuck_slider_animation'] : $slider_animation = 'fade'; isset( $instance['canuck_slider_pause'] ) ? $slider_pause = $instance['canuck_slider_pause'] : $slider_pause = '6000'; isset( $instance['canuck_slider_transition'] ) ? $slider_transition = $instance['canuck_slider_transition'] : $slider_transition = '500'; $include_post_titles = isset( $instance['canuck_include_post_titles'] ) ? true : false; $slider_auto = isset( $instance['canuck_slider_auto'] ) ? $instance['canuck_slider_auto'] : true; echo wp_kses_post( $args['before_widget'] ); if ( ! empty( $title ) ) { echo wp_kses_post( $args['before_title'] ) . wp_kses_post( $title ) . wp_kses_post( $args['after_title'] ); } if ( 'no_nav' === $slider_type ) { canuck_widget_slider_no_nav( $slider_category, $slider_animation, $slider_pause, $slider_transition , $include_post_titles, $slider_auto ); } elseif ( 'button_nav' === $slider_type ) { canuck_widget_slider_button_nav( $slider_category, $slider_animation, $slider_pause, $slider_transition , $include_post_titles, $slider_auto ); } elseif ( 'carousel_top' === $slider_type ) { canuck_widget_slider_carousel_top_nav( $slider_category, $slider_animation, $slider_pause, $slider_transition , $include_post_titles, $slider_auto ); } elseif ( 'carousel_bot' === $slider_type ) { canuck_widget_slider_carousel_bot_nav( $slider_category, $slider_animation, $slider_pause, $slider_transition , $include_post_titles, $slider_auto ); } elseif ( 'carousel' === $slider_type ) { canuck_widget_slider_carousel( $slider_category, $slider_animation, $slider_pause, $slider_transition , $include_post_titles, $slider_auto ); } echo wp_kses_post( $args['after_widget'] ); } } /** * Flex Slider Directional Nav Only * * @param string $slider_category is the category to get feature images from. * @param string $slider_animation is the slider animation slide or fade. * @param string $slider_pause time in miliseconds before slide change starts. * @param string $slider_transition is the time in miliseconds for the slide to change. * @param boolean $include_post_titles will include post title as a caption if checked. * @param boolean $slider_auto will auto start the slider if checked. */ function canuck_widget_slider_no_nav( $slider_category, $slider_animation, $slider_pause, $slider_transition, $include_post_titles, $slider_auto ) { global $canuck_feature_category, $post; $category_id = get_cat_ID( $slider_category ); $args = array( 'category' => $category_id, 'numberposts' => 20, ); $custom_posts = get_posts( $args ); $canuck_feature_pic_count = 0; if ( 0 !== $category_id && $custom_posts ) { ?>
$category_id, 'numberposts' => 20, ); $custom_posts = get_posts( $args ); $canuck_feature_pic_count = 0; if ( 0 !== $category_id && $custom_posts ) { ?>
$category_id, 'numberposts' => 20, ); $custom_posts = get_posts( $args ); $canuck_feature_pic_count = 0; if ( 0 !== $category_id && $custom_posts ) { ?>
$category_id, 'numberposts' => 20, ); $custom_posts = get_posts( $args ); $canuck_feature_pic_count = 0; if ( 0 !== $category_id && $custom_posts ) { ?>
$category_id, 'numberposts' => 20, ); $custom_posts = get_posts( $args ); $canuck_feature_pic_count = 0; if ( 0 !== $category_id && $custom_posts ) { ?>