PluginProbe
Tag, Category, and Taxonomy Manager – Autotagger Automatically Add Terms / trunk
Tag, Category, and Taxonomy Manager – Autotagger Automatically Add Terms vtrunk
3.53.0 3.52.0 3.51.0 3.50.0 3.45.0 3.38.0 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.40.0 3.40.1 3.41.0 3.42.0 3.43.0 3.44.0 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 All 177 releases
simple-tags / inc / posts-tags-widget.php

posts-tags-widget.php in Tag, Category, and Taxonomy Manager – Autotagger Automatically Add Terms trunk, at inc/posts-tags-widget.php

151 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * TaxoPress widget class
5 *
6 */
7 class SimpleTags_PostTags_Widget extends WP_Widget
8 {
9 /**
10 * Constructor widget
11 *
12 * @return void
13 * @author Olatechpro
14 */
15 public function __construct()
16 {
17 parent::__construct(
18 'simpletags-posttags',
19 esc_html__('Terms for Current Post (TaxoPress)', 'simple-tags'),
20 array(
21 'classname' => 'widget-simpletags-posttags',
22 'description' => esc_html__('Taxopress Terms for Current Post Shortcode', 'simple-tags')
23 )
24 );
25 }
26
27 /**
28 * Default settings for widget
29 *
30 * @return array
31 * @author Olatechpro
32 */
33 public static function get_fields()
34 {
35 return array(
36 'posttags_id' => 0,
37 );
38 }
39
40 /**
41 * Method for theme render
42 *
43 * @param array $args
44 * @param array $instance
45 *
46 * @return void
47 * @author Olatechpro
48 */
49 public function widget($args, $instance)
50 {
51 extract($args);
52
53 // Set values and clean it
54 foreach ((array) self::get_fields() as $field => $field_value) {
55 ${$field} = isset($instance[$field]) ? trim($instance[$field]) : '';
56 }//$posttags_id;
57
58 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
59 echo $before_widget;
60 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
61 echo do_shortcode('[taxopress_postterms id="' . $posttags_id . '"]');
62 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
63 echo $after_widget;
64 }
65
66 /**
67 * Update widget settings
68 *
69 * @param array $new_instance
70 * @param array $old_instance
71 *
72 * @return array
73 * @author Olatechpro
74 */
75 public function update($new_instance, $old_instance)
76 {
77 $instance = $old_instance;
78
79 foreach ((array) self::get_fields() as $field => $field_value) {
80 $instance[ $field ] = $new_instance[ $field ];
81 }
82
83 return $instance;
84 }
85
86 /**
87 * Admin form for widgets
88 *
89 * @param array $instance
90 *
91 * @return void
92 * @author Olatechpro
93 */
94 public function form($instance)
95 {
96 //Defaults
97 $instance = wp_parse_args((array) $instance, self::get_fields());
98
99 $posttags_data = taxopress_get_posttags_data();
100 if (count($posttags_data) > 0) {
101 $shortcode_page = sprintf(
102 '<a href="%s">%s</a>',
103 add_query_arg(
104 [
105 'page' => 'st_post_tags',
106 ],
107 admin_url('admin.php')
108 ),
109 esc_html__('this page.', 'simple-tags')
110 );
111
112 echo '<p>' . esc_html__('Terms for Current Post are added on ', 'simple-tags');
113 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
114 echo $shortcode_page;
115 echo '</p>'
116
117 ?>
118 <p>
119 <label for="<?php echo esc_attr($this->get_field_id('posttags_id')); ?>">
120 <?php esc_html_e('Select widget terms for current post.', 'simple-tags'); ?>
121 <select id="<?php echo esc_attr($this->get_field_id('posttags_id')); ?>"
122 name="<?php echo esc_attr($this->get_field_name('posttags_id')); ?>">
123 <?php foreach ($posttags_data as $key => $value) { ?>
124 <option <?php selected(esc_attr($instance['posttags_id']), esc_attr($key)); ?>
125 value="<?php echo esc_attr($key); ?>"><?php echo esc_html($value['title']); ?></option>
126 <?php } ?>
127 </select>
128 </label>
129 </p>
130
131 <?php
132 } else {
133 $shortcode_page = sprintf(
134 '<a href="%s">%s</a>',
135 add_query_arg(
136 [
137 'page' => 'st_post_tags',
138 ],
139 admin_url('admin.php')
140 ),
141 esc_html__('Here', 'simple-tags')
142 );
143
144 echo '<br />' . esc_html__('No terms for current post shortcode available. Add new shortcode ', 'simple-tags');
145 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
146 echo $shortcode_page;
147 echo '<br /><br />';
148 }
149 }
150 }
151