Changeset 3477469
- Timestamp:
- 03/08/2026 03:39:51 PM (4 weeks ago)
- Location:
- tag-display/trunk
- Files:
-
- 13 added
- 9 edited
-
admin/css/tag-display-admin.css (modified) (1 diff)
-
admin/js/tag-display-admin.js (modified) (3 diffs)
-
admin/partials/tag-display-admin-display.php (modified) (1 diff)
-
block (added)
-
block/block.json (added)
-
block/build (added)
-
block/build/index.asset.php (added)
-
block/build/index.js (added)
-
block/edit.js (added)
-
block/index.js (added)
-
block/render.php (added)
-
examples (added)
-
examples/tag-display-template-custom.php (added)
-
includes/class-tag-display-admin.php (modified) (3 diffs)
-
includes/class-tag-display-public.php (modified) (3 diffs)
-
includes/class-tag-display.php (modified) (3 diffs)
-
package.json (added)
-
public/css/tag-display-public.css (modified) (3 diffs)
-
public/partials/tag-display-template-hashtag.php (added)
-
public/partials/tag-display-template-outlined.php (added)
-
readme.txt (modified) (3 diffs)
-
tag-display.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tag-display/trunk/admin/css/tag-display-admin.css
r3471739 r3477469 312 312 box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.25); 313 313 } 314 315 /* T30 — Outlined template preview */ 316 .preview-outlined { 317 display: flex; 318 flex-wrap: wrap; 319 gap: 8px; 320 } 321 322 .preview-outlined .tag-outlined { 323 display: inline-block; 324 background-color: transparent; 325 color: #0073aa; 326 border: 2px solid #0073aa; 327 padding: 4px 12px; 328 border-radius: 20px; 329 font-size: 13px; 330 font-weight: 500; 331 text-decoration: none; 332 transition: background-color 0.2s ease, color 0.2s ease; 333 } 334 335 .preview-outlined .tag-outlined:hover { 336 background-color: #0073aa; 337 color: #fff; 338 } 339 340 /* T30 — Hashtag template preview */ 341 .preview-hashtag { 342 display: flex; 343 flex-wrap: wrap; 344 gap: 4px 14px; 345 } 346 347 .preview-hashtag .tag-hashtag { 348 display: inline-block; 349 color: #0073aa; 350 font-size: 14px; 351 font-weight: 600; 352 text-decoration: none; 353 transition: color 0.2s ease; 354 } 355 356 .preview-hashtag .tag-hashtag:hover { 357 text-decoration: underline; 358 } 359 360 .preview-hashtag .tag-hashtag .tag-hash { 361 color: inherit; 362 user-select: none; 363 } -
tag-display/trunk/admin/js/tag-display-admin.js
r3471739 r3477469 119 119 120 120 // Handle hover effects for the template previews 121 $('.template-previews a').hover( 122 function() { 123 var $this = $(this); 124 var hoverBg = $this.data('hover-bg'); 125 var hoverColor = $this.data('hover-color'); 126 127 if (hoverBg) { 128 $this.css('background-color', hoverBg); 129 } 130 if (hoverColor) { 131 $this.css('color', hoverColor); 132 } 133 }, 134 function() { 135 var $this = $(this); 136 var origBg = $this.data('bg'); 137 var origColor = $this.data('color'); 138 121 $(document).on('mouseenter', '.template-previews a', function() { 122 var $this = $(this); 123 var hoverBg = $this.data('hover-bg'); 124 var hoverColor = $this.data('hover-color'); 125 126 if (hoverBg) { 127 $this.css('background-color', hoverBg); 128 } 129 if (hoverColor) { 130 $this.css('color', hoverColor); 131 } 132 // Outlined: fill bg, set text to hover color 133 if ($this.hasClass('tag-outlined') && hoverBg) { 134 $this.css({ 'background-color': hoverBg, 'color': hoverColor || '#fff' }); 135 } 136 }); 137 138 $(document).on('mouseleave', '.template-previews a', function() { 139 var $this = $(this); 140 var origBg = $this.data('bg'); 141 var origColor = $this.data('color'); 142 var accent = $this.data('accent'); 143 144 if ($this.hasClass('tag-outlined')) { 145 // Restore: transparent bg, accent color 146 $this.css({ 'background-color': 'transparent', 'color': accent || '#0073aa' }); 147 } else { 139 148 if (origBg) { 140 149 $this.css('background-color', origBg); … … 144 153 } 145 154 } 146 );155 }); 147 156 148 157 // Initialize tag preview with current values … … 256 265 .data('hover-color', hoverTextColor); 257 266 }); 267 268 // Update outlined template preview (accent = hoverBgColor for border + hover bg) 269 $('.preview-outlined .tag-outlined').each(function() { 270 $(this) 271 .css({ 272 'color': hoverBgColor, 273 'border-color': hoverBgColor 274 }) 275 .data('accent', hoverBgColor) 276 .data('hover-bg', hoverBgColor) 277 .data('hover-color', hoverTextColor); 278 }); 279 280 // Update hashtag template preview (accent = hoverBgColor for link color) 281 $('.preview-hashtag .tag-hashtag').each(function() { 282 $(this) 283 .css('color', hoverBgColor) 284 .data('accent', hoverBgColor); 285 }); 258 286 } 259 287 }); -
tag-display/trunk/admin/partials/tag-display-admin-display.php
r3471739 r3477469 256 256 </div> 257 257 </div> 258 <div class="template-preview"> 259 <h3><?php esc_html_e( 'Outlined Template', 'tag-display' ); ?></h3> 260 <p><?php esc_html_e( 'Transparent background with a colored border — minimal modern style.', 'tag-display' ); ?></p> 261 262 <div class="preview-container"> 263 <div class="preview-title">Tags:</div> 264 265 <div class="preview-tags preview-outlined"> 266 <?php foreach ( $sample_tags as $sample_tag ) : ?> 267 <a href="javascript:void(0)" class="tag-outlined" role="button" 268 data-hover-bg="<?php echo esc_attr($hover_bg_color); ?>" 269 data-hover-color="<?php echo esc_attr($hover_text_color); ?>" 270 data-accent="<?php echo esc_attr($hover_bg_color); ?>"> 271 <?php echo esc_html( $sample_tag ); ?> 272 </a> 273 <?php endforeach; ?> 274 </div> 275 </div> 276 </div> 277 278 <div class="template-preview"> 279 <h3><?php esc_html_e( 'Hashtag Template', 'tag-display' ); ?></h3> 280 <p><?php esc_html_e( 'Social-style tags prefixed with # — no border, no background.', 'tag-display' ); ?></p> 281 282 <div class="preview-container"> 283 <div class="preview-title">Tags:</div> 284 285 <div class="preview-tags preview-hashtag"> 286 <?php foreach ( $sample_tags as $sample_tag ) : ?> 287 <a href="javascript:void(0)" class="tag-hashtag" role="button" 288 data-accent="<?php echo esc_attr($hover_bg_color); ?>" 289 data-color="<?php echo esc_attr($text_color); ?>"> 290 <span class="tag-hash" aria-hidden="true">#</span><?php echo esc_html( $sample_tag ); ?> 291 </a> 292 <?php endforeach; ?> 293 </div> 294 </div> 258 295 </div> 259 296 </div> 260 </div> 261 297 </div> 298 </div> 299 262 300 <!-- Help Tab --> 263 301 <div id="help" class="tab-pane"> -
tag-display/trunk/includes/class-tag-display-admin.php
r3471739 r3477469 505 505 */ 506 506 public function sanitize_template( $input ) { 507 $valid_templates = array( 'default', 'minimal', 'cloud' );507 $valid_templates = array( 'default', 'minimal', 'cloud', 'outlined', 'hashtag' ); 508 508 509 509 if ( in_array( $input, $valid_templates, true ) ) { … … 609 609 ?> 610 610 <select name="s7n_tag_display_template" id="s7n_tag_display_template"> 611 <option value="default" <?php selected( $template, 'default' ); ?>><?php esc_html_e( 'Default', 'tag-display' ); ?></option> 612 <option value="minimal" <?php selected( $template, 'minimal' ); ?>><?php esc_html_e( 'Minimal', 'tag-display' ); ?></option> 613 <option value="cloud" <?php selected( $template, 'cloud' ); ?>><?php esc_html_e( 'Tag Cloud', 'tag-display' ); ?></option> 611 <option value="default" <?php selected( $template, 'default' ); ?>><?php esc_html_e( 'Default', 'tag-display' ); ?></option> 612 <option value="minimal" <?php selected( $template, 'minimal' ); ?>><?php esc_html_e( 'Minimal', 'tag-display' ); ?></option> 613 <option value="cloud" <?php selected( $template, 'cloud' ); ?>><?php esc_html_e( 'Tag Cloud', 'tag-display' ); ?></option> 614 <option value="outlined" <?php selected( $template, 'outlined' ); ?>><?php esc_html_e( 'Outlined', 'tag-display' ); ?></option> 615 <option value="hashtag" <?php selected( $template, 'hashtag' ); ?>><?php esc_html_e( 'Hashtag', 'tag-display' ); ?></option> 614 616 </select> 615 617 <p class="description"><?php esc_html_e( 'Select the default template to use for displaying tags. This can be overridden for specific content types.', 'tag-display' ); ?></p> … … 701 703 $cpt_template = get_option( 's7n_tag_display_cpt_template', 'default' ); 702 704 $templates = array( 703 'default' => __( 'Default', 'tag-display' ), 704 'minimal' => __( 'Minimal', 'tag-display' ), 705 'cloud' => __( 'Tag Cloud', 'tag-display' ), 705 'default' => __( 'Default', 'tag-display' ), 706 'minimal' => __( 'Minimal', 'tag-display' ), 707 'cloud' => __( 'Tag Cloud', 'tag-display' ), 708 'outlined' => __( 'Outlined', 'tag-display' ), 709 'hashtag' => __( 'Hashtag', 'tag-display' ), 706 710 ); 707 711 ?> -
tag-display/trunk/includes/class-tag-display-public.php
r3471739 r3477469 92 92 background-color: {$hover_bg_color}; 93 93 color: {$hover_text_color}; 94 } 95 .tag-display-outlined a { 96 color: {$hover_bg_color}; 97 border-color: {$hover_bg_color}; 98 } 99 .tag-display-outlined a:hover { 100 background-color: {$hover_bg_color}; 101 color: {$hover_text_color}; 102 } 103 .tag-display-hashtag a { 104 color: {$hover_bg_color}; 105 } 106 .tag-display-hashtag a:hover { 107 color: {$text_color}; 94 108 } 95 109 "; … … 293 307 294 308 // Validate template 295 $valid_templates = array( 'default', 'minimal', 'cloud' );309 $valid_templates = array( 'default', 'minimal', 'cloud', 'outlined', 'hashtag' ); 296 310 if ( ! in_array( $template, $valid_templates, true ) ) { 297 311 $template = 'default'; … … 327 341 ob_start(); 328 342 329 // Include the template file (all $display_* variables are available in template scope) 330 include plugin_dir_path( dirname( __FILE__ ) ) . 'public/partials/tag-display-template-' . $template . '.php'; 343 // T38 — Theme template override: look for tag-display-template-{name}.php in child/parent theme 344 $template_filename = 'tag-display-template-' . $template . '.php'; 345 $theme_template = locate_template( $template_filename ); 346 347 if ( $theme_template && validate_file( $theme_template ) === 0 ) { 348 // Theme override found and path is safe — use it 349 include $theme_template; 350 } else { 351 // Fall back to plugin template 352 include plugin_dir_path( dirname( __FILE__ ) ) . 'public/partials/' . $template_filename; 353 } 331 354 332 355 // Get the buffer contents and clean the buffer -
tag-display/trunk/includes/class-tag-display.php
r3304085 r3477469 64 64 $this->define_admin_hooks(); 65 65 $this->define_public_hooks(); 66 $this->define_block_hooks(); 66 67 } 67 68 … … 88 89 */ 89 90 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-tag-display-public.php'; 91 92 /** 93 * The render callback function for the Gutenberg block. 94 */ 95 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'block/render.php'; 90 96 } 91 97 … … 160 166 161 167 /** 168 * Register hooks for the Gutenberg block. 169 * 170 * @since 1.4.0 171 * @access private 172 */ 173 private function define_block_hooks() { 174 add_action( 'init', array( $this, 'register_block' ) ); 175 } 176 177 /** 178 * Register the Tag Display Gutenberg block. 179 * 180 * Uses render_callback so the block works on WordPress 5.6+ without 181 * requiring the block.json "render" field (added in WP 6.1). 182 * 183 * @since 1.4.0 184 */ 185 public function register_block() { 186 if ( ! function_exists( 'register_block_type' ) ) { 187 return; 188 } 189 190 $block_dir = plugin_dir_path( dirname( __FILE__ ) ) . 'block/'; 191 $build_js = $block_dir . 'build/index.js'; 192 193 // Only register if the built JS exists (skips dev environments without npm build) 194 if ( ! file_exists( $build_js ) ) { 195 return; 196 } 197 198 register_block_type( 199 $block_dir, 200 array( 201 'render_callback' => 's7n_tag_display_render_block', 202 ) 203 ); 204 } 205 206 /** 162 207 * Run the plugin. 163 208 * -
tag-display/trunk/public/css/tag-display-public.css
r3471739 r3477469 125 125 } 126 126 127 /* Outlined template styles */ 128 .tag-display-outlined { 129 display: flex; 130 flex-wrap: wrap; 131 gap: 8px; 132 } 133 134 .tag-display-outlined a { 135 display: inline-block; 136 background-color: transparent; 137 color: #0073aa; 138 border: 2px solid #0073aa; 139 padding: 5px 14px; 140 border-radius: 20px; 141 text-decoration: none; 142 font-size: 14px; 143 font-weight: 500; 144 transition: all 0.2s ease; 145 } 146 147 .tag-display-outlined a:hover { 148 background-color: #0073aa; 149 color: #fff; 150 } 151 152 .tag-display-outlined a:active { 153 transform: translateY(1px); 154 opacity: 0.9; 155 } 156 157 .tag-display-outlined a:visited { 158 opacity: 0.85; 159 } 160 161 /* Hashtag template styles */ 162 .tag-display-hashtag { 163 display: flex; 164 flex-wrap: wrap; 165 gap: 4px 14px; 166 } 167 168 .tag-display-hashtag a { 169 display: inline-block; 170 color: #0073aa; 171 text-decoration: none; 172 font-size: 15px; 173 font-weight: 600; 174 transition: color 0.2s ease; 175 } 176 177 .tag-display-hashtag a:hover { 178 text-decoration: underline; 179 } 180 181 .tag-display-hashtag a:visited { 182 opacity: 0.85; 183 } 184 185 .tag-display-hashtag .tag-hash { 186 color: inherit; 187 user-select: none; 188 } 189 127 190 /* Responsive adjustments */ 128 191 @media screen and (max-width: 768px) { … … 148 211 .tag-display-default a, 149 212 .tag-display-minimal a, 150 .tag-display-cloud a { 213 .tag-display-cloud a, 214 .tag-display-outlined a, 215 .tag-display-hashtag a { 151 216 transition: none; 152 217 } … … 157 222 158 223 .tag-display-default a:active, 159 .tag-display-cloud a:active { 224 .tag-display-cloud a:active, 225 .tag-display-outlined a:active { 160 226 transform: none; 161 227 } -
tag-display/trunk/readme.txt
r3471739 r3477469 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.2 7 Stable tag: 1. 3.07 Stable tag: 1.5.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 13 13 == Description == 14 14 15 Tag Display allows you to present your WordPress tags using different templates, improving user engagement and navigation. 16 Choose between three customizable templates:15 Tag Display allows you to present your WordPress tags using different templates, improving user engagement and navigation. 16 Choose between five customizable templates: 17 17 18 1. **Default Template:** Clean and modern tag buttons with subtle hover effects. 19 2. **Minimal Template:** Simple text links separated by commas for a clean look. 20 3. **Tag Cloud Template:** Tags displayed in a cloud format with varied sizes and rotations. 18 1. **Default Template:** Clean and modern tag buttons with subtle hover effects. 19 2. **Minimal Template:** Simple text links separated by commas for a clean look. 20 3. **Tag Cloud Template:** Tags displayed in a cloud format with sizes proportional to post count. 21 4. **Outlined Template:** Transparent background with a colored border — modern pill-style buttons. 22 5. **Hashtag Template:** Social-style tags prefixed with `#` — Instagram/Twitter look. 21 23 22 **Features:** 23 - Multiple tag templates for flexible styling. 24 - Easy shortcode integration: `[s7n_tag_display]` or `[s7n_tag_display template="minimal"]`. 25 - Admin settings page for customization. 26 - Automatic or manual tag display. 27 - Support for custom taxonomies alongside WordPress tags. 28 - Optimized for performance and easy to configure. 24 **Features:** 25 - Five tag templates for flexible styling. 26 - Native Gutenberg block for the block editor (no shortcode needed). 27 - Easy shortcode integration: `[s7n_tag_display]` or `[s7n_tag_display template="minimal"]`. 28 - Admin settings page with live template preview and color picker. 29 - Automatic or manual tag display (before or after content). 30 - Tag ordering: alphabetical, by post count, or random. 31 - Limit the number of tags shown and exclude specific tags by slug. 32 - Optionally display the post count next to each tag (e.g. *WordPress (12)*). 33 - Support for custom taxonomies alongside WordPress tags. 34 - SEO options: rel="nofollow" and target="_blank" for tag links. 35 - Theme template override: place a custom template file in your theme folder to fully control the output. 36 - Optimized for performance and easy to configure. 29 37 30 == Installation == 38 == Installation == 31 39 32 1. Upload the `tag-display` folder to the `/wp-content/plugins/` directory. 33 2. Activate the plugin through the 'Plugins' menu in WordPress. 34 3. Go to **Settings -> Tag Display** to customize your preferences. 35 4. Use the shortcode `[s7n_tag_display]` in your posts or pages. 40 1. Upload the `tag-display` folder to the `/wp-content/plugins/` directory. 41 2. Activate the plugin through the 'Plugins' menu in WordPress. 42 3. Go to **Settings → Tag Display** to configure templates, colors, tag ordering, and auto-display options. 43 4. Display tags in one of three ways: 44 * **Shortcode** — add `[s7n_tag_display]` to any post or page. 45 * **Gutenberg block** — search for "Tag Display" in the block inserter. 46 * **Automatic** — enable auto-display in **Settings → Content Types** to add tags to every post automatically. 36 47 37 == Frequently Asked Questions == 48 == Frequently Asked Questions == 38 49 39 = How do I use the plugin? = 40 Simply activate the plugin, customize your settings, and use the shortcode `[s7n_tag_display]` wherever you want the tags to appear. 50 = How do I use the plugin? = 51 Activate the plugin, go to **Settings → Tag Display** to configure your preferences, then add tags to your posts in one of three ways: 41 52 42 = Can I change the template style? = 43 Yes, you can select between Default, Minimal, and Tag Cloud templates directly from the settings page or via shortcode: 44 `[s7n_tag_display template="minimal"]` 53 1. **Shortcode** — paste `[s7n_tag_display]` anywhere in a post or page. 54 2. **Gutenberg block** — search for "Tag Display" in the block inserter and add it to your content. 55 3. **Automatic** — enable auto-display in Settings → Content Types and tags will appear automatically in every post. 45 56 46 = Is it compatible with the latest WordPress version? = 47 Yes, Tag Display is regularly updated to ensure compatibility. 57 = Can I change the template style? = 58 Yes. Choose between Default, Minimal, Cloud, Outlined, and Hashtag templates: 59 60 * From the settings page: **Settings → Tag Display → General Settings → Default Template**. 61 * Via shortcode: `[s7n_tag_display template="outlined"]` 62 * Via Gutenberg block: select the block and use the **Template** option in the sidebar. 63 64 = How do I use the Gutenberg block? = 65 In the block editor, click the **+** button and search for "Tag Display". Add the block to your post. Use the sidebar panel (**Display Settings**, **Link Options**, **Title**) to override the template, ordering, tag limit, and other options for that specific block — independently of the global settings. 66 67 = What shortcode attributes are available? = 68 All attributes are optional and override the global settings for that specific instance: 69 70 `[s7n_tag_display template="hashtag" order="count_desc" max="8" exclude="news,draft" nofollow="true" new_tab="true" show_count="true" title="Related topics:"]` 71 72 * `template` — `default`, `minimal`, `cloud`, `outlined`, `hashtag` 73 * `order` — `alpha_asc`, `alpha_desc`, `count_desc`, `count_asc`, `random` (default: global setting) 74 * `max` — maximum number of tags to show, e.g. `max="5"` (0 = all) 75 * `exclude` — comma-separated slugs to hide, e.g. `exclude="news,uncategorized"` 76 * `nofollow` — `true` to add `rel="nofollow"` to tag links 77 * `new_tab` — `true` to open links in a new tab 78 * `show_count` — `true` to show the post count next to each tag, e.g. *WordPress (12)* 79 * `title` — custom label above the tags, e.g. `title="Topics:"` (empty string hides the title) 80 81 = How do I limit or sort the tags? = 82 Go to **Settings → Tag Display → General Settings**. You can set: 83 84 * **Tag Order** — alphabetical (A→Z / Z→A), by post count (most/least used), or random. 85 * **Max Tags** — show only the first N tags (0 = show all). 86 * **Exclude Tags** — comma-separated slugs of tags to always hide. 87 88 These settings can also be overridden per-instance via shortcode or Gutenberg block. 89 90 = How do I hide specific tags? = 91 In **Settings → Tag Display → General Settings → Exclude Tags**, enter the slugs (not names) of the tags you want to hide, separated by commas. Example: `news, uncategorized, draft`. 92 93 To find a tag's slug, go to **Posts → Tags** in the WordPress admin. 94 95 = Can I display tags automatically without a shortcode? = 96 Yes. Go to **Settings → Tag Display → Content Types**, enable auto-display for posts, pages, or custom post types, and choose whether tags appear **before** or **after** the content. 97 98 = How do I add rel="nofollow" or open links in a new tab? = 99 Go to **Settings → Tag Display → General Settings** and enable the **rel="nofollow"** or **Open in new tab** checkboxes. These can also be set per-instance via shortcode (`nofollow="true"`, `new_tab="true"`) or Gutenberg block sidebar. 100 101 = Can I create a fully custom template from my theme? = 102 Yes. Place a file named `tag-display-template-{name}.php` in your theme (or child theme) root folder, where `{name}` is the template you want to override: `default`, `minimal`, `cloud`, `outlined`, or `hashtag`. 103 104 Example: to override the default template, create `wp-content/themes/your-theme/tag-display-template-default.php`. 105 106 The plugin detects and uses it automatically. A fully commented example file is included in the plugin's `examples/` folder. 107 108 The following variables are available in your custom template: 109 110 * `$tags` — array of WP_Term objects (`->name`, `->slug`, `->count`) 111 * `$display_title` — label text above the tags 112 * `$display_nofollow` — boolean, whether to add `rel="nofollow"` 113 * `$display_new_tab` — boolean, whether to open links in a new tab 114 * `$display_show_count` — boolean, whether to show post count next to each tag 115 116 = Is it compatible with the latest WordPress version? = 117 Yes, Tag Display is regularly updated to ensure compatibility. 48 118 49 119 == Screenshots == … … 56 126 57 127 == Changelog == 128 129 = 1.5.0 = 130 * Added theme template override: place `tag-display-template-{name}.php` in your theme folder to fully customize the output. 131 * Added `examples/tag-display-template-custom.php` with a fully commented template starter. 132 * Override is applied automatically for both shortcode and Gutenberg block rendering. 133 134 = 1.4.0 = 135 * Added native Gutenberg block (dynamic block, server-side rendered) with InspectorControls for all display options. 136 * Added Outlined template: transparent background with colored border pill-style buttons. 137 * Added Hashtag template: social-style tags prefixed with # (Instagram/Twitter look). 138 * Admin: improved admin preview cards for Outlined and Hashtag templates with live color updates. 139 * Admin: template select now switches to Template Preview tab and highlights the matching card in real-time. 58 140 59 141 = 1.3.0 = -
tag-display/trunk/tag-display.php
r3471739 r3477469 11 11 * Plugin URI: https://ismailnasry.it/portfolio-archive/tag-display/ 12 12 * Description: Display clickable tags in pages/articles with customizable templates and display options. 13 * Version: 1. 3.013 * Version: 1.5.0 14 14 * Author: Ismail Nasry 15 15 * Author URI: https://ismailnasry.it … … 28 28 * Currently plugin version. 29 29 */ 30 define( 'S7N_TAG_DISPLAY_VERSION', '1. 3.0' );30 define( 'S7N_TAG_DISPLAY_VERSION', '1.5.0' ); 31 31 32 32 /**
Note: See TracChangeset
for help on using the changeset viewer.