Changeset 3257047
- Timestamp:
- 03/17/2025 10:31:49 AM (12 days ago)
- Location:
- admin-dashboard-rss-feed/trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
admin-dashboard-rss-feed/trunk/admin-rss-feed.php
r3234006 r3257047 1 1 <?php 2 3 /** 4 * Plugin Name: Admin Dashboard RSS Feed 5 * Description: This plugin will display company news in WordPress Admin Dashboard. It uses RSS feed URL as input and display the news synopsis in the Admin Dashboard. 6 * Plugin URI: https://www.webstix.com 7 * Author: Webstix 8 * Version: 3.4 9 * Text Domain: admin-dashboard-rss-feed 10 * Author: Webstix, Inc. 11 * Author URI: https://www.webstix.com/wordpress-plugin-development 12 * Domain Path: /languages 13 * License: GPL-2.0+ 14 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt 2 /* 3 Plugin Name: Admin Dashboard RSS Feed 4 Description: This plugin will display company news in WordPress Admin Dashboard. It uses RSS feed URL as input and display the news synopsis in the Admin Dashboard. 5 Plugin URI: https://www.webstix.com 6 Author: Webstix 7 Version: 3.5 8 Text Domain: admin-dashboard-rss-feed 9 Author: Webstix, Inc. 10 Author URI: https://www.webstix.com/wordpress-plugin-development 11 Domain Path: /languages 12 License: GPL-2.0+ 13 License URI: http://www.gnu.org/licenses/gpl-2.0.txt 15 14 */ 16 15 // Abort, if the plugin file is accessed from outside. … … 43 42 <?php 44 43 echo '<p>'; 45 e cho __('Thank you for using the <strong>Admin Rss Feed</strong> plugin! Go to Plugin ', 'admin-dashboard-rss-feed');46 echo '<a href="' . esc_url(get_admin_url(null, 'options-general.php?page= admin-dashboard-rss-feed%2Fadmin-rss-feed.php')) . '">' . __('Settings Page', 'admin-dashboard-rss-feed') . '</a>';44 esc_html_e('Thank you for using the <strong>Admin Rss Feed</strong> plugin! Go to Plugin ', 'admin-dashboard-rss-feed'); 45 echo '<a href="' . esc_url(get_admin_url(null, 'options-general.php?page=wsx-rss-feed-settings')) . '">' . esc_html_e('Settings Page', 'admin-dashboard-rss-feed') . '</a>'; 47 46 echo '</p>'; 48 47 ?> … … 62 61 function wsx_rss_feed_plugin_settings_link($wsx_rss_feed_link) 63 62 { 64 $wsx_rss_feed_link[] = '<a href="' . esc_url(get_admin_url(null, 'options-general.php?page= admin-dashboard-rss-feed%2Fadmin-rss-feed.php')) . '">' . __('Settings', 'admin-dashboard-rss-feed') . '</a>';63 $wsx_rss_feed_link[] = '<a href="' . esc_url(get_admin_url(null, 'options-general.php?page=wsx-rss-feed-settings')) . '">' . __('Settings', 'admin-dashboard-rss-feed') . '</a>'; 65 64 return $wsx_rss_feed_link; 66 65 } … … 70 69 { 71 70 // create new top-level menu 72 add_options_page('Admin Dashboard RSS Feed Plugin Settings', 'Admin Dashboard RSS Feed', 'manage_options', __FILE__, 'wsx_rss_feed_admin_settings_page');71 add_options_page('Admin Dashboard RSS Feed Plugin Settings', 'Admin Dashboard RSS Feed', 'manage_options', 'wsx-rss-feed-settings', 'wsx_rss_feed_admin_settings_page'); 73 72 // call register settings function 74 73 add_action('admin_init', 'wsx_rss_feed_admin_settings'); … … 76 75 function wsx_rss_feed_styles() 77 76 { 78 wp_register_style('wsx-rss-styles', plugin_dir_url(__FILE__) . 'admin/css/style.css');77 wp_register_style('wsx-rss-styles', plugin_dir_url(__FILE__) . 'admin/css/style.css', array(), '3.5'); 79 78 wp_enqueue_style('wsx-rss-styles'); 79 80 // Enqueue WordPress media uploader 81 wp_enqueue_media(); 82 83 // Load script only on the desired admin page 84 wp_enqueue_script( 85 'custom-admin-js', 86 plugin_dir_url(__FILE__) . 'admin/js/admin.js', // Adjust path if using a plugin 87 array('jquery'), // jQuery dependency 88 '3.5', 89 true // Load in footer 90 ); 91 92 // Pass PHP variables to JavaScript 93 wp_localize_script('custom-admin-js', 'rssFeedVars', array( 94 'attachment_id' => get_option('wsx_rss_feed_image_attachment_id', 0) 95 )); 96 97 80 98 } 81 99 add_action('admin_enqueue_scripts', 'wsx_rss_feed_styles'); 82 100 function wsx_rss_feed_admin_settings() 83 101 { 84 // register our settings 85 // Save attachment ID 86 if (isset($_POST['image_attachment_id'])): 87 update_option('wsx_rss_feed_image_attachment_id', absint($_POST['image_attachment_id'])); 88 endif; 89 if(!empty($_GET['page'])){ 90 if($_GET['page'] == "admin-dashboard-rss-feed/admin-rss-feed.php") { 91 wp_enqueue_media(); 92 } 93 } 94 95 // Get the Company Logo Title 96 register_setting('wsx-rss-feed-settings-group', 'wsx_logo_title'); 97 // Get the Company Logo Target Link 98 register_setting('wsx-rss-feed-settings-group', 'wsx_logo_target_link'); 99 // Feed URL 100 register_setting('wsx-rss-feed-settings-group', 'wsx_rss_feed_url'); 101 // Feed Count 102 register_setting('wsx-rss-feed-settings-group', 'wsx_rss_feed_count'); 103 } 102 // Ensure request method is set before using it 103 if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'POST') { 104 if (!isset($_POST['wsx_rss_feed_nonce']) || 105 !wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['wsx_rss_feed_nonce'])), 'wsx_rss_feed_nonce_action')) { 106 wp_die(esc_html__('Security check failed', 'admin-dashboard-rss-feed')); 107 } 108 109 // Save attachment ID 110 if (isset($_POST['image_attachment_id'])) { 111 update_option('wsx_rss_feed_image_attachment_id', absint($_POST['image_attachment_id'])); 112 } 113 } 114 115 if (!empty($_GET['page']) && $_GET['page'] == "admin-dashboard-rss-feed/admin-rss-feed.php") { 116 wp_enqueue_media(); 117 } 118 119 // Register settings 120 register_setting('wsx-rss-feed-settings-group', 'wsx_logo_title', 'sanitize_text_field'); 121 register_setting('wsx-rss-feed-settings-group', 'wsx_logo_target_link', 'esc_url_raw'); 122 register_setting('wsx-rss-feed-settings-group', 'wsx_rss_feed_url', 'esc_url_raw'); 123 register_setting('wsx-rss-feed-settings-group', 'wsx_rss_feed_count', 'absint'); 124 } 125 126 //add_action('admin_init', 'wsx_rss_feed_admin_settings'); 127 104 128 105 129 function wsx_rss_feed_admin_settings_page() { ?> … … 108 132 109 133 <form method="post" action="options.php"> 110 <?php wp_nonce_field('nonce-to-check'); ?> 111 <?php 112 settings_fields('wsx-rss-feed-settings-group'); ?>113 <?php 114 do_settings_sections('wsx-rss-feed-settings-group');115 ?>134 135 <?php 136 settings_fields('wsx-rss-feed-settings-group'); 137 do_settings_sections('wsx-rss-feed-settings-group'); 138 wp_nonce_field('wsx_rss_feed_nonce_action', 'wsx_rss_feed_nonce'); 139 ?> 116 140 <table class="form-table"> 117 141 … … 126 150 <td> 127 151 <div class='image-preview-wrapper'> 128 <img id='image-preview' src="<?php 129 echo wp_get_attachment_url(get_option('wsx_rss_feed_image_attachment_id')); ?>" height='100'> 152 153 <?php echo wp_get_attachment_image(get_option('wsx_rss_feed_image_attachment_id'), 'thumbnail', false, array('id' => 'image-preview', 'class' =>'clsImagePreview', 'height' => '100')); ?> 154 130 155 </div> 131 <input id="upload_image_button" type="button" class="button" value="<?php 132 _e('Upload image'); ?>" /> 133 134 <input id="delete_image_button" type="button" class="button" value="<?php 135 _e('Delete image'); ?>" /><small class="wsx-small">(We suggest 64 pixels wide x 64 pixels high)</small> 136 <input type='hidden' name='image_attachment_id' id='image_attachment_id' value='<?php 137 echo get_option('wsx_rss_feed_image_attachment_id'); ?>'></td> 156 <input id="upload_image_button" type="button" class="button" value="<?php esc_attr_e('Upload image', 'admin-dashboard-rss-feed'); ?>" /> 157 158 <input id="delete_image_button" type="button" class="button" value="<?php esc_attr_e('Delete image', 'admin-dashboard-rss-feed'); ?>" /><small class="wsx-small">(We suggest 64 pixels wide x 64 pixels high)</small> 159 <input type='hidden' name='image_attachment_id' id='image_attachment_id' value='<?php echo esc_attr(get_option('wsx_rss_feed_image_attachment_id')); ?>'> 160 161 </td> 138 162 </tr> 139 163 … … 153 177 <th scope="row">Number of items to display: <small style="font-weight: normal;">(You can show between 1 to 10)</small></th> 154 178 <td><input type="number" name="wsx_rss_feed_count" value="<?php 155 echo esc_attr(get_option('wsx_rss_feed_count')); ?>" required /></td>179 echo esc_attr(get_option('wsx_rss_feed_count')); ?>" required max="10" /></td> 156 180 </tr> 157 181 </table> … … 167 191 global $wp_meta_boxes; 168 192 $wsx_company_name = esc_attr(get_option('wsx_logo_title')); 169 wp_add_dashboard_widget('widget_wsx_rss_feed', __($wsx_company_name . ' News', 'wsx_rss_feeds') , 'wsx_rss_feed_create_box'); 193 // Translators: %s will be replaced with the company name. 194 wp_add_dashboard_widget('widget_wsx_rss_feed', sprintf(esc_html__('%s News', 'admin-dashboard-rss-feed'), $wsx_company_name), 195 'wsx_rss_feed_create_box' 196 ); 197 170 198 } 171 199 add_action('wp_dashboard_setup', 'admin_rss_feed_register_widgets'); … … 188 216 189 217 190 $wsx_logo_url = wp_get_attachment_url(get_option('wsx_rss_feed_image_attachment_id'));218 $wsx_logo_url = esc_url(wp_get_attachment_url(get_option('wsx_rss_feed_image_attachment_id'))); 191 219 $wsx_logo_title = esc_attr(get_option('wsx_logo_title')); 192 220 $wsx_logo_target_link = esc_attr(get_option('wsx_logo_target_link')); 221 $wsx_logo_id = get_option('wsx_rss_feed_image_attachment_id'); 193 222 194 223 echo '<div class="wsx-rss-feed-widget1">'; … … 198 227 $title = 'title="' . $wsx_logo_title . '"'; 199 228 $alt = 'alt="' . $wsx_logo_title . '"'; 200 echo "<div class='wsx-log-wrap clearfix'><a $title href=" . $wsx_logo_target_link . " target='_blank'><img $alt src=" . $wsx_logo_url . "></a>"; 201 echo '<div class="wsx_company_name"><span class="wsx_comp_name">' . $wsx_logo_title . '</span>'; 202 echo '<a href="' . $wsx_logo_target_link . '" target="_blank" title="' . $wsx_logo_title . '"><span class="wsx_company_url">' . $wsx_logo_target_link . '</span></a></div></div>'; 229 230 echo "<div class='wsx-log-wrap clearfix'>"; 231 echo '<a ' . esc_attr($wsx_logo_title ? 'title="' . $wsx_logo_title . '"' : '') . ' href="' . esc_url($wsx_logo_target_link) . '" target="_blank">'; 232 echo '<img ' . esc_attr($wsx_logo_title ? 'alt="' . $wsx_logo_title . '"' : '') . ' src="' . esc_url($wsx_logo_url) . '">'; 233 echo '</a>'; 234 235 echo '<div class="wsx_company_name"><span class="wsx_comp_name">' . esc_attr($wsx_logo_title) . '</span>'; 236 echo '<a href="' . esc_url($wsx_logo_target_link) . '" target="_blank" title="' . esc_attr($wsx_logo_title) . '"><span class="wsx_company_url">' . esc_url($wsx_logo_target_link) . '</span></a></div></div>'; 203 237 } 204 238 else if ($wsx_logo_url <> "" && $wsx_logo_target_link <> "") 205 239 { 206 echo "<div class='wsx-log-wrap clearfix'><a href=" . $wsx_logo_target_link . " target='_blank'><img src=" . $wsx_logo_url . "></a>"; 207 echo '<a href="' . $wsx_logo_target_link . '" target="_blank"><span class="wsx_company_url">' . $wsx_logo_target_link . '</span></a></div>'; 240 //echo "<div class='wsx-log-wrap clearfix'><a href=" . esc_url($wsx_logo_target_link) . " target='_blank'><img src=" . esc_url($wsx_logo_url) . "></a>"; 241 242 if ($wsx_logo_id) { 243 echo esc_html("<div class='wsx-log-wrap clearfix'>"); 244 echo '<a href="' . esc_url($wsx_logo_target_link) . '" target="_blank">'; 245 echo wp_get_attachment_image($wsx_logo_id, 'full', false, ['alt' => esc_attr__('Logo', 'admin-dashboard-rss-feed')]); 246 echo '</a></div>'; 247 } 248 249 echo '<a href="' . esc_url($wsx_logo_target_link) . '" target="_blank"><span class="wsx_company_url">' . esc_url($wsx_logo_target_link) . '</span></a></div>'; 208 250 } 209 251 else if ($wsx_logo_url <> "" && $wsx_logo_title <> "") 210 252 { 211 253 $alt = 'alt="' . $wsx_logo_title . '"'; 212 echo "<div class='wsx-log-wrap clearfix'><img $alt src=" . $wsx_logo_url. ">";213 echo '<div class="wsx_company_name"><span class="wsx_comp_name">' . $wsx_logo_title. '</span></div>';254 echo "<div class='wsx-log-wrap clearfix'><img ".esc_attr($alt)." src=" . esc_url($wsx_logo_url) . ">"; 255 echo '<div class="wsx_company_name"><span class="wsx_comp_name">' . esc_attr($wsx_logo_title) . '</span></div>'; 214 256 } 215 257 else if ($wsx_logo_title <> "" && $wsx_logo_target_link <> "") 216 258 { 217 echo '<div class="wsx-log-wrap clearfix"><div style="float: none;" class="wsx_company_name"><span class="wsx_comp_name">' . $wsx_logo_title. '</span></div><br />';218 echo '<a style="float: none;" href="' . $wsx_logo_target_link . '" target="_blank" title="' . $wsx_logo_title . '"><span class="wsx_company_url">' . $wsx_logo_target_link. '</span></a></div>';259 echo '<div class="wsx-log-wrap clearfix"><div style="float: none;" class="wsx_company_name"><span class="wsx_comp_name">' . esc_attr($wsx_logo_title) . '</span></div><br />'; 260 echo '<a style="float: none;" href="' . esc_url($wsx_logo_target_link) . '" target="_blank" title="' . esc_attr($wsx_logo_title) . '"><span class="wsx_company_url">' . esc_url($wsx_logo_target_link) . '</span></a></div>'; 219 261 } 220 262 else … … 222 264 if ($wsx_logo_url <> "") 223 265 { 224 echo "<div class='wsx-log-wrap clearfix'><img src=" . $wsx_logo_url . "></div>"; 266 echo "<div class='wsx-log-wrap clearfix'>"; 267 echo wp_get_attachment_image($wsx_logo_id, 'full', false, ['alt' => esc_attr__('Logo', 'admin-dashboard-rss-feed')]); 268 echo "</div>"; 225 269 } 226 270 if ($wsx_logo_title <> "") 227 271 { 228 echo '<div class="wsx-log-wrap clearfix"><div class="wsx_company_name"><span class="wsx_comp_name">' . $wsx_logo_title. '</span></div></div>';272 echo '<div class="wsx-log-wrap clearfix"><div class="wsx_company_name"><span class="wsx_comp_name">' . esc_attr($wsx_logo_title) . '</span></div></div>'; 229 273 } 230 274 if ($wsx_logo_target_link <> "") 231 275 { 232 echo "<div class='wsx-log-wrap clearfix'><a href=" . $wsx_logo_target_link . " target='_blank'><span class='wsx_company_url'>" . $wsx_logo_target_link. "</span></a></div>";276 echo "<div class='wsx-log-wrap clearfix'><a href=" . esc_url($wsx_logo_target_link) . " target='_blank'><span class='wsx_company_url'>" . esc_url($wsx_logo_target_link) . "</span></a></div>"; 233 277 } 234 278 } … … 248 292 foreach($xml->channel->item as $entry) { 249 293 if($in <= $feed_count) { 250 echo "<li><a href='$entry->link' title='$entry->title'>" . $entry->title . "</a>"; 251 echo "<p>" .mb_substr(strip_tags($entry->description), 0, 120). "...</p></li>"; 294 echo "<li><a href='".esc_url($entry->link)."' title='".esc_attr($entry->title)."'>" . esc_attr($entry->title) . "</a>"; 295 296 echo '<p>' . esc_html(mb_substr(wp_strip_all_tags(html_entity_decode($entry->description, ENT_QUOTES, 'UTF-8')), 0, 120)) . '...</p></li>'; 297 252 298 $in++; 253 299 } … … 256 302 257 303 } else { 258 $settings = '<a href="' . esc_url(get_admin_url(null, 'options-general.php?page=admin-dashboard-rss-feed%2Fadmin-rss-feed.php')) . '">Settings</a>'; 259 echo '<li><strong>' . __('Something went wrong! Please check the Feed URL ' . $settings . ' and provide valid RSS feed URL and check back this page.', 'admin_rss_feed') . '</strong></li>'; 304 $settings = '<a href="' . esc_url(get_admin_url(null, 'options-general.php?page=wsx-rss-feed-settings')) . '">Settings</a>'; 305 // Translators: %s will be replaced with the feed settings URL. 306 echo '<li><strong>' . sprintf(esc_html__('Something went wrong! Please check the Feed URL %s and provide a valid RSS feed URL, then check back on this page.', 'admin-dashboard-rss-feed'), 307 esc_url($settings) 308 ) . '</strong></li>'; 309 260 310 } 261 311 … … 263 313 264 314 } 265 add_action('admin_footer', 'media_selector_print_script'); 315 316 317 318 /*add_action('admin_footer', 'media_selector_print_script'); 266 319 function media_selector_print_script() 267 320 { 268 if(!empty($_GET['page'])){ 269 if($_GET['page'] == "admin-dashboard-rss-feed/admin-rss-feed.php") { 270 271 $wsx_rss_feed_image_attachment_post_id = get_option('wsx_rss_feed_image_attachment_id', 0); 321 exit; 322 // Check if the page parameter exists and verify the nonce 323 if ( 324 isset($_GET['page']) && 325 sanitize_text_field(wp_unslash($_GET['page'])) === "admin-dashboard-rss-feed/admin-rss-feed.php") { 326 327 $wsx_rss_feed_image_attachment_post_id = get_option('wsx_rss_feed_image_attachment_id', 0); 272 328 ?><script type='text/javascript'> 273 329 jQuery( document ).ready( function( $ ) { … … 280 336 var wp_media_post_id = wp.media.model.settings.post.id; // Store the old id 281 337 var set_to_post_id = <?php 282 echo $wsx_rss_feed_image_attachment_post_id; ?>; // Set this338 echo esc_html($wsx_rss_feed_image_attachment_post_id); ?>; // Set this 283 339 284 340 if(set_to_post_id == 0) { … … 351 407 }); 352 408 </script> 353 <?php } }// End of If part354 } ?>409 <?php } // End of If part 410 } */?> -
admin-dashboard-rss-feed/trunk/admin/css/style.css
r2219558 r3257047 7 7 .wsx-log-wrap.clearfix a { 8 8 float: left; 9 margin: 5px 30px 0 0;9 margin: 5px 0px 0 0; 10 10 } 11 11 -
admin-dashboard-rss-feed/trunk/readme.txt
r3234012 r3257047 4 4 Tags: admin-rss-feed, rss-feed, wordpress-admin-dashboard, show-rss-feed, admin-widget 5 5 Requires at least: 4.7.5 6 Tested up to: 6.7 .17 Stable tag: 3.46 Tested up to: 6.7 7 Stable Tag: 3.5 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 Admin Dashboard RSS Feed displays company news in the WordPress Admin Dashboard using an RSS feed. It provides quick access to the latest updates. 10 11 11 This plugin shows the latest news in the WordPress Admin Dashboard from the RSS feed URL that you provide. 12 == Short Description == 13 This plugin shows latest news in the WordPress Admin Dashboard from the RSS feed URL that you provide. 14 12 15 13 16 == Description == … … 15 18 Are you a web design company looking to broadcast your company's latest news in your client's Admin Dashboard? This plugin helps to show your latest news in the WordPress Admin Dashboard via an RSS feed. 16 19 17 This plugin is very simple to install and configure. After successful install and activation ,just provide this info and you are set:20 This plugin is very simple to install and configure. After successful install and activation. just provide this info and you are set: 18 21 19 Your company name: 20 Your company logo: 21 Your website: 22 Your company RSS feed URL: 22 Your company name: 23 Your company logo: 24 Your website: 25 Your company RSS feed URL: 23 26 Set the number of items to show: 24 27 … … 27 30 == Installation == 28 31 29 1. Install the plugin in the Admin => Plugins menu => Add New => Upload => Select the zip file => Install Now .30 2. Activate Plugin in the Admin => Plugins Menu .31 3. On the left navigation, go to Settings andclick on the "Admin RSS Feed" page.32 4. Fill inthe required information and save the settings.33 5. Once you are done with the settings, visit your Dashboard to see the latest news. Usually, this widget will be at the bottom, but you can drag and drop itto the top section.32 1. Install the plugin in the Admin => Plugins menu => Add New => Upload => Select the zip file => Install Now 33 2. Activate Plugin in the Admin => Plugins Menu 34 3. On the left navigation, please go to Settings and, under that, click on the "Admin RSS Feed" page. 35 4. Please fill the required information and save the settings. 36 5. Once you are done with the settings, Visit your Dashboard to See the Latest News. Usually, this widget will be at the bottom, simply drag and drop to the top section. 34 37 35 38 == Frequently Asked Questions == 36 39 37 = After activating the plugin ,what should I do? =40 = After activating the plugin what should I do? = 38 41 39 42 Please go to the settings screen and enter your settings to get started. … … 47 50 We suggest 64 pixels wide x 64 pixels high and preferably in .jpg or .png format. 48 51 49 = What happens when there is an error in the feed URL? =52 = What happens when there is an error in the feed URL? = 50 53 51 The plugin identifies an invalid feed URL and shows an error message in the Dashboard Widget. When you see that error message, go to the settings screen and enter a valid feed URL. 54 The plugin identifies an invalid feed URL and shows error message in the Dashboard Widget. When you see that error message, you should go to the settings screen and enter a valid feed URL. 55 52 56 53 57 == Screenshots == 54 58 55 1. screenshot-1.png 56 Note that the screenshot is available under '/assets/screenshot-1.png'. 59 1. screenshot-1.png. 57 60 58 2. screenshot-2.png 59 This is the second screenshot, which is available in '/assets/screenshot-2.png'. 61 Note that the screenshot is available under '/assets/screenshot-1.png' 62 63 2. screenshot-2.png. 64 This is the second screenshot, which is available in '/assets/screenshot-2.png' 60 65 61 66 == Changelog == 62 67 63 = 3.4 =64 * Updated the plugin to be compatible with 6.7.1.65 66 = 3.3 =67 * Updated the plugin to be compatible with 6.6.1.68 69 = 3.2 =70 * Fixed bugs.71 * Updated the plugin to be compatible with 6.4.3.72 73 = 3.1 =74 * Fixed bugs.75 * Updated the plugin to be compatible with 6.1.1.76 77 = 3.0 =78 * Fixed PHP warnings.79 * Updated the plugin to be compatible with 6.0.2.80 81 = 2.9 =82 * Updated the plugin to be compatible with 6.0.1.83 84 = 2.8 =85 * Updated the plugin to be compatible with 6.086 87 = 2.7 =88 * Updated the plugin to be compatible with 5.9.389 90 = 2.6 =91 * Updated the plugin to be compatible with 5.9.292 93 = 2.5 =94 * Updated the plugin to be compatible with 5.9.195 96 = 2.4 =97 * Updated the plugin to be compatible with 5.998 99 = 2.3 =100 * Updated the plugin to be compatible with 5.8.3101 102 = 2.2 =103 * Updated the plugin to be compatible with 5.8.2104 105 = 2.1 =106 * Updated the plugin to be compatible with 5.8.1107 108 = 2.0 =109 * Updated the plugin to be compatible with 5.8110 111 = 1.10 =112 * Updated the plugin to be compatible with 5.8113 114 = 1.9 =115 * Updated the plugin to be compatible with 5.7.2116 117 = 1.8 =118 * Updated the plugin to be compatible with 5.7.119 120 = 1.7 =121 * Updated the plugin to be compatible with 5.6.122 123 = 1.6 =124 * Updated the plugin to be compatible with 5.5.1.125 126 = 1.5 =127 * Updated the plugin to be compatible with 5.4.2128 129 = 1.4 =130 * Updated the plugin to be compatible with 5.4131 132 68 = 1.2 = 133 * Used the latest WordPress inherent image uploader function to upload the company Logo.134 69 * Updated the plugin to be compatible with 5.0 135 70 … … 142 77 * Used the latest WordPress inherent image uploader function to upload the company Logo. 143 78 144 == Upgrade Notice == 79 = 1.2 = 80 * Used the latest WordPress inherent image uploader function to upload the company Logo. 145 81 146 = 3.3=147 Update the plugin to ensure compatibility with WordPress 6.6.1 and fix bugs. 82 = 1.4 = 83 * Updated the plugin to be compatible with 5.4 148 84 85 = 1.5 = 86 * Updated the plugin to be compatible with 5.4.2 87 88 = 1.6 = 89 * Updated the plugin to be compatible with 5.5.1. 90 91 = 1.7 = 92 * Updated the plugin to be compatible with 5.6. 93 94 = 1.8 = 95 * Updated the plugin to be compatible with 5.7. 96 97 = 1.9 = 98 * Updated the plugin to be compatible with 5.7.2 99 100 = 1.10 = 101 * Updated the plugin to be compatible with 5.8 102 103 = 2.0 = 104 * Updated the plugin to be compatible with 5.8 105 106 = 2.1 = 107 * Updated the plugin to be compatible with 5.8.1 108 109 = 2.2 = 110 * Updated the plugin to be compatible with 5.8.2 111 112 = 2.3 = 113 * Updated the plugin to be compatible with 5.8.3 114 115 = 2.4 = 116 * Updated the plugin to be compatible with 5.9 117 118 = 2.5 = 119 * Updated the plugin to be compatible with 5.9.1 120 121 = 2.6 = 122 * Updated the plugin to be compatible with 5.9.2 123 124 = 2.7 = 125 * Updated the plugin to be compatible with 5.9.3 126 127 = 2.8 = 128 * Updated the plugin to be compatible with 6.0 129 130 = 2.9 = 131 * Updated the plugin to be compatible with 6.0.1 132 133 = 3.0 = 134 * Fixed php warnings 135 * Updated the plugin to be compatible with 6.0.2 136 137 = 3.1 = 138 * Fixed bugs 139 * Updated the plugin to be compatible with 6.1.1 140 141 = 3.2 = 142 * Fixed bugs 143 * Updated the plugin to be compatible with 6.4.3 144 145 = 3.5 = 146 * Fixed bugs 147 * Fixed php warnings 148 * Updated the plugin to be compatible with 6.7.2
Note: See TracChangeset
for help on using the changeset viewer.