|
1 <?php |
|
2 /** |
|
3 * Widget for portfolio Technologies |
|
4 */ |
|
5 |
|
6 if ( ! defined( 'ABSPATH' ) ) { |
|
7 die(); |
|
8 } |
|
9 |
|
10 /** |
|
11 * Class for portfolio technologies widget |
|
12 */ |
|
13 class Portfolio_Technologies_Widget extends WP_Widget { |
|
14 /** |
|
15 * Constructor of class |
|
16 */ |
|
17 public function __construct() { |
|
18 parent::__construct( |
|
19 'portfolio_technologies_widget', |
|
20 __( 'Technologies', 'portfolio' ), |
|
21 array( 'description' => __( 'The tag cloud with your most used portfolio technologies.', 'portfolio' ) ) |
|
22 ); |
|
23 } |
|
24 |
|
25 /** |
|
26 * Function to displaying widget in front end |
|
27 * |
|
28 * @param array $args Widget args. |
|
29 * @param array $instance Widget data. |
|
30 */ |
|
31 public function widget( $args, $instance ) { |
|
32 $widget_title = isset( $instance['widget_title'] ) ? $instance['widget_title'] : null; |
|
33 $widget_title = apply_filters( 'widget_title', $widget_title, $instance, $this->id_base ); |
|
34 echo wp_kses_post( $args['before_widget'] ); |
|
35 if ( $widget_title ) { |
|
36 echo wp_kses_post( $args['before_title'] . $widget_title . $args['after_title'] ); |
|
37 } |
|
38 echo '<div class="tagcloud">'; |
|
39 wp_tag_cloud( |
|
40 apply_filters( |
|
41 'widget_tag_cloud_args', |
|
42 array( |
|
43 'taxonomy' => 'portfolio_technologies', |
|
44 'number' => 0, |
|
45 ) |
|
46 ) |
|
47 ); |
|
48 echo "</div>\n"; |
|
49 echo wp_kses_post( $args['after_widget'] ); |
|
50 } |
|
51 |
|
52 /** |
|
53 * Function to save widget settings |
|
54 * |
|
55 * @param array $new_instance New widget data. |
|
56 * @param array $old_instance Old widget data. |
|
57 */ |
|
58 public function update( $new_instance, $old_instance ) { |
|
59 $instance = array(); |
|
60 $instance['widget_title'] = ( ! empty( $new_instance['widget_title'] ) ) ? wp_strip_all_tags( $new_instance['widget_title'] ) : null; |
|
61 return $instance; |
|
62 } |
|
63 |
|
64 /** |
|
65 * Function to displaying widget settings in back end |
|
66 * |
|
67 * @param array $instance Widget data. |
|
68 */ |
|
69 public function form( $instance ) { |
|
70 $widget_title = isset( $instance['widget_title'] ) ? stripslashes( esc_html( $instance['widget_title'] ) ) : null; |
|
71 ?> |
|
72 <p> |
|
73 <label for="<?php echo esc_attr( $this->get_field_id( 'widget_title' ) ); ?>"><?php esc_html_e( 'Title', 'portfolio' ); ?>:</label> |
|
74 <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'widget_title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'widget_title' ) ); ?>" type="text" value="<?php echo esc_attr( $widget_title ); ?>"/> |
|
75 </p> |
|
76 <?php |
|
77 } |
|
78 } |