public function widget($args, $instance) { global $before_widget, $before_title, $after_title, $after_widget; $args = wp_parse_args($args, Testimonials_Widget::get_defaults()); extract($args); // Our variables from the widget settings $title = apply_filters('widget_title', $instance['title'], null); $testimonials = Testimonials_Widget::testimonialswidget_widget($instance, $this->number); // Before widget (defined by themes) echo $before_widget; // Display the widget title if one was input (before and after defined by themes) if (!empty($title)) { if (!empty($instance['title_link'])) { // revise title with title_link link creation $title_link = $instance['title_link']; if (preg_match('#^\\d+$#', $title_link)) { $new_title = '<a href="'; $new_title .= get_permalink($title_link); $new_title .= '" title="'; $new_title .= get_the_title($title_link); $new_title .= '">'; $new_title .= $title; $new_title .= '</a>'; $title = $new_title; } else { if (0 === preg_match("#https?://#", $title_link)) { $title_link = 'http://' . $title_link; } $new_title = '<a href="'; $new_title .= $title_link; $new_title .= '" title="'; $new_title .= $title; $new_title .= '"'; if (!empty($instance['target'])) { $new_title .= ' target="'; $new_title .= $instance['target']; $new_title .= '" '; } $new_title .= '>'; $new_title .= $title; $new_title .= '</a>'; $title = $new_title; } } echo $before_title . $title . $after_title; } // Display Widget echo $testimonials; // After widget (defined by themes) echo $after_widget; }