Changeset 1477619
- Timestamp:
- 08/18/2016 08:17:52 AM (10 years ago)
- Location:
- hashtagger
- Files:
-
- 10 added
- 1 deleted
- 9 edited
-
assets/screenshot-1.png (modified) (previous)
-
assets/screenshot-10.png (added)
-
assets/screenshot-2.png (modified) (previous)
-
assets/screenshot-3.png (modified) (previous)
-
assets/screenshot-4.png (modified) (previous)
-
assets/screenshot-5.png (modified) (previous)
-
assets/screenshot-6.png (modified) (previous)
-
assets/screenshot-7.png (modified) (previous)
-
assets/screenshot-8.png (added)
-
assets/screenshot-9.png (added)
-
tags/3.4 (added)
-
tags/3.4/hashtagger.php (added)
-
tags/3.4/index.php (added)
-
tags/3.4/pluginicon.png (added)
-
tags/3.4/progress.png (added)
-
tags/3.4/readme.txt (added)
-
tags/3.4/uninstall.php (added)
-
trunk/hashtagger.php (modified) (19 diffs)
-
trunk/languages (deleted)
-
trunk/readme.txt (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
hashtagger/trunk/hashtagger.php
r1431296 r1477619 2 2 /* 3 3 Plugin Name: hashtagger 4 Plugin URI: http:// smartware.cc/free-wordpress-plugins/hashtagger/4 Plugin URI: http://petersplugins.com/free-wordpress-plugins/hashtagger/ 5 5 Description: Tag your posts by using #hashtags 6 Version: 3.4 DEV 7 Author: smartware.cc, Peter's Plugins 8 Author URI: http://smartware.cc 6 Version: 3.4 7 Author: Peter's Plugins, smartware.cc 8 Author URI: http://petersplugins.com 9 Text Domain: hashtagger 9 10 License: GPL2 10 11 */ 11 12 12 /* Copyright 201 5 Peter Raschendorfer (email : [email protected])13 /* Copyright 2016 Peter Raschendorfer (email : [email protected]) 13 14 14 15 This program is free software; you can redistribute it and/or modify … … 32 33 class Hashtagger { 33 34 public $plugin_name; 35 public $plugin_slug; 34 36 public $version; 37 public $wp_url; 38 public $my_url; 39 public $dc_url; 35 40 public $settings; 36 41 protected $regex_general; … … 42 47 public function __construct() { 43 48 $this->plugin_name = 'hashtagger'; 44 $this->version = '3.4 DEV'; 49 $this->plugin_slug = 'hashtagger'; 50 $this->version = '3.4'; 45 51 $this->get_settings(); 46 52 $this->init(); … … 49 55 50 56 private function init() { 57 58 $this->wp_url = 'https://wordpress.org/plugins/' . $this->plugin_slug; 59 $this->my_url = 'http://petersplugins.com/free-wordpress-plugins/' . $this->plugin_slug; 60 $this->dc_url = 'http://petersplugins.com/docs/' . $this->plugin_slug; 61 51 62 $this->regex_general = '/(^|[\s!\.:;\?(>])#([\p{L}][\p{L}0-9_]+)(?=[^<>]*(?:<|$))/u'; 52 63 $this->regex_notag = '/(^|[\s!\.:;\?(>])\+#([\p{L}][\p{L}0-9_]+)(?=[^<>]*(?:<|$))/u'; 64 if ( true === $this->settings['tags_allow_numeric'] ) { 65 // Allow Tags to start with numbers 66 $this->regex_general = '/(^|[\s!\.:;\?(>])#([\p{L}0-9][\p{L}0-9_]+)(?=[^<>]*(?:<|$))/u'; 67 $this->regex_notag = '/(^|[\s!\.:;\?(>])\+#([\p{L}0-9][\p{L}0-9_]+)(?=[^<>]*(?:<|$))/u'; 68 } 53 69 $this->regex_users = '/(^|[\s!\.:;\?(>])\@([\p{L}][\p{L}0-9_]+)(?=[^<>]*(?:<|$))/u'; 54 70 $this->regex_cash = '/(^|[\s!\.:;\?(>])\$([A-Z][A-Z\-]+)(?=[^<>]*(?:<|$))/u'; … … 91 107 // addd text domains 92 108 function add_text_domains() { 93 load_plugin_textdomain( 'hashtagger' , false, plugin_basename( dirname( __FILE__ ) ) . '/languages' );109 load_plugin_textdomain( 'hashtagger' ); 94 110 } 95 111 … … 116 132 $this->settings['cashtagcssclass'] = get_option( 'swcc_htg_cashtagcssclass', '' ); 117 133 $this->settings['display_nosymbols'] = ( get_option( 'swcc_htg_display_nosymbols', '0' ) == 0 ) ? false : true; 134 $this->settings['tags_allow_numeric'] = ( get_option( 'swcc_htg_tags_allow_numeric', '0' ) == 0 ) ? false : true; 118 135 $tagbase = get_option( 'tag_base' ); 119 136 if ( $tagbase != '' ) { … … 136 153 $content = $content . ' ' . get_post_field('post_excerpt', $postid); 137 154 } 138 wp_set_post_tags( $postid, $this->get_hashtags_from_content( $content), $this->settings['advanced_nodelete'] );155 wp_set_post_tags( $postid, $this->get_hashtags_from_content( strip_tags( $content ) ), $this->settings['advanced_nodelete'] ); 139 156 } 140 157 } … … 199 216 // get_term_by does not work if Polylang is active, because it always returns us the tag of any language - this may be the right language or not... 200 217 // get_terms works also if Polylang is active - and it does not return the tag in all languages but only in the needed one - thats perfect, so we need no extra solition for Polylang 201 $terms = get_terms( array( 'taxonomy' => 'post_tag', 'name' => $match[2], 'number' => 1 ) ); 202 if ( ! $terms ) { 218 if ( $match[2] != strip_tags( $match[2] ) ) { 203 219 $content = $match[0]; 204 220 } else { 205 $term = $terms[0]; 206 $termid = $term->term_id; 207 $slug = $term->slug; 208 if ( $mktag ) { 209 $css = $this->settings['cssclass']; 221 $terms = get_terms( array( 'taxonomy' => 'post_tag', 'name' => $match[2], 'number' => 1 ) ); 222 if ( ! $terms ) { 223 $content = $match[0]; 210 224 } else { 211 $css = $this->settings['cssclass_notag']; 212 } 213 if ( $css != '' ) { 214 $css = ' class="' . $css . '"'; 215 } 216 if ( ! $this->settings['display_nosymbols'] ) { 217 $symbol = '#'; 218 } else { 219 $symbol = ''; 220 } 221 $content = $match[1] . '<a' . $css . ' href="' . get_tag_link( $termid ) . '">' . $symbol . $match[2] . '</a>'; 225 $term = $terms[0]; 226 $termid = $term->term_id; 227 $slug = $term->slug; 228 if ( $mktag ) { 229 $css = $this->settings['cssclass']; 230 } else { 231 $css = $this->settings['cssclass_notag']; 232 } 233 if ( $css != '' ) { 234 $css = ' class="' . $css . '"'; 235 } 236 if ( ! $this->settings['display_nosymbols'] ) { 237 $symbol = '#'; 238 } else { 239 $symbol = ''; 240 } 241 $content = $match[1] . '<a' . $css . ' href="' . get_tag_link( $termid ) . '">' . $symbol . $match[2] . '</a>'; 242 } 222 243 } 223 244 return $content; … … 473 494 } 474 495 475 // creates the options page496 // creates the options page 476 497 function admin_page() { 477 498 $url = admin_url( 'options-general.php?page=' . $_GET['page'] . '&tab=' ); … … 480 501 $current_tab = $_GET['tab']; 481 502 } 482 if ( ! in_array( $current_tab, array('general', ' advanced', 'posttype', 'sectiontype', 'css', 'display', 'regenerate') ) ) {503 if ( ! in_array( $current_tab, array('general', 'tags', 'usernames', 'cashtags', 'advanced', 'posttype', 'sectiontype', 'css', 'display', 'regenerate') ) ) { 483 504 $current_tab = 'general'; 484 505 } … … 486 507 <div class="wrap"> 487 508 <?php screen_icon(); ?> 488 <h2 style="min-height: 32px; line-height: 32px; padding-left: 40px; background-image: url(<?php echo plugins_url( 'pluginicon.png', __FILE__ ); ?>); background-repeat: no-repeat; background-position: left center"><a href=" http://smartware.cc/free-wordpress-plugins/hashtagger/">hashtagger</a> Settings</h2>509 <h2 style="min-height: 32px; line-height: 32px; padding-left: 40px; background-image: url(<?php echo plugins_url( 'pluginicon.png', __FILE__ ); ?>); background-repeat: no-repeat; background-position: left center"><a href="<?php echo $this->caller->my_url; ?>"><?php echo $this->caller->plugin_name; ?></a> <?php echo __( 'Settings', 'hashtagger' ); ?></h2> 489 510 <hr /> 490 <p>Plugin Version: <?php echo $this->version; ?> </p>511 <p>Plugin Version: <?php echo $this->version; ?> <a class="dashicons dashicons-editor-help" href="<?php echo $this->caller->wp_url; ?>/changelog/"></a></p> 491 512 <h2 class="nav-tab-wrapper"> 492 <a href="<?php echo $url . 'general'; ?>" class="nav-tab<?php if ( 'general' == $current_tab ) { echo ' nav-tab-active'; } ?>"><?php _e( 'General' ); ?></a> 513 <a href="<?php echo $url . 'general'; ?>" class="nav-tab<?php if ( 'general' == $current_tab ) { echo ' nav-tab-active'; } ?>"><?php _e( 'Information' ); ?></a> 514 <a href="<?php echo $url . 'tags'; ?>" class="nav-tab<?php if ( 'tags' == $current_tab ) { echo ' nav-tab-active'; } ?>"><?php _e( 'Tags' ); ?></a> 515 <a href="<?php echo $url . 'usernames'; ?>" class="nav-tab<?php if ( 'usernames' == $current_tab ) { echo ' nav-tab-active'; } ?>"><?php _e( 'Usernames' ); ?></a> 516 <a href="<?php echo $url . 'cashtags'; ?>" class="nav-tab<?php if ( 'cashtags' == $current_tab ) { echo ' nav-tab-active'; } ?>"><?php _e( 'Cashtags' ); ?></a> 493 517 <a href="<?php echo $url . 'advanced'; ?>" class="nav-tab<?php if ( 'advanced' == $current_tab ) { echo ' nav-tab-active'; } ?>"><?php _e( 'Advanced' ); ?></a> 494 518 <a href="<?php echo $url . 'posttype'; ?>" class="nav-tab<?php if ( 'posttype' == $current_tab ) { echo ' nav-tab-active'; } ?>"><?php _e( 'Post Types', 'hashtagger' ); ?></a> … … 521 545 <?php } else { ?> 522 546 <form method="post" action="options.php" class="hashtagger_settings_form"> 523 <?php if ( 'general' == $current_tab ) { ?> 524 <div class="postbox"> 525 <div class="inside"> 526 <p><strong>#hashtag <?php _e( 'Permalinks' ); ?></strong></p> 527 <hr /> 528 <p>#hashtags <?php _e( 'currently link to', 'hashtagger'); ?> <code style="white-space: nowrap"><?php echo $this->tag_base_url() . '[hashtag]'; ?></code>.</p> 529 <p><?php printf( __( 'The <b>Tag base</b> for the Archive URL can be changed on %s page', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="http://smartware.cc/docs/hashtagger/#settings_general_tagbase"></a>', '<a href="'. admin_url( 'options-permalink.php' ) .'">' . __( 'Permalink Settings' ) . '</a>' ); ?>.</p> 530 </div> 531 </div> 532 <?php } ?> 533 <div class="postbox"> 534 <div class="inside"> 535 <?php 536 settings_fields( 'hashtagger_settings_' . $current_tab ); 537 do_settings_sections( 'hashtagger_settings_section_' . $current_tab ); 538 submit_button(); 539 ?> 540 </div> 547 <div class="postbox"> 548 <div class="inside"> 549 <?php if ( 'general' == $current_tab ) { ?> 550 <p><strong>#hashtag <?php _e( 'Permalinks' ); ?></strong></p> 551 <hr /> 552 <p>#hashtags <?php _e( 'currently link to', 'hashtagger'); ?> <code style="white-space: nowrap"><?php echo $this->tag_base_url() . '[hashtag]'; ?></code>.</p> 553 <p><?php printf( __( 'The <b>Tag base</b> for the Archive URL can be changed on %s page', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_general_tagbase"></a>', '<a href="'. admin_url( 'options-permalink.php' ) .'">' . __( 'Permalink Settings' ) . '</a>' ); ?>.</p> 554 <?php } else { 555 settings_fields( 'hashtagger_settings_' . $current_tab ); 556 do_settings_sections( 'hashtagger_settings_section_' . $current_tab ); 557 submit_button(); 558 } ?> 559 </div> 541 560 </div> 542 <?php if ( 'general' == $current_tab ) { ?>543 <div class="postbox">544 <div class="inside">545 <?php546 settings_fields( 'hashtagger_settings_general_cashtags' );547 do_settings_sections( 'hashtagger_settings_section_general_cashtags' );548 submit_button();549 ?>550 </div>551 </div>552 <?php } ?>553 561 </form> 554 562 <?php } ?> … … 571 579 function admin_init() { 572 580 573 add_settings_section( 'hashtagger-settings-general', '', array( $this, 'admin_section_general_title' ), 'hashtagger_settings_section_general' ); 574 register_setting( 'hashtagger_settings_general', 'swcc_htg_usernames' ) ; 575 register_setting( 'hashtagger_settings_general', 'swcc_htg_usernamesnick' ); 576 add_settings_field( 'swcc_htg_settings_usernames', __( 'Link @usernames', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="http://smartware.cc/docs/hashtagger/#settings_general_usernames"></a>', array( $this, 'admin_usernames' ), 'hashtagger_settings_section_general', 'hashtagger-settings-general', array( 'label_for' => 'swcc_htg_usernames' ) ); 577 add_settings_field( 'swcc_htg_settings_usernamesnick', __( '@nicknames', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="http://smartware.cc/docs/hashtagger/#settings_general_nicknames"></a>', array( $this, 'admin_usernamesnick' ), 'hashtagger_settings_section_general', 'hashtagger-settings-general', array( 'label_for' => 'swcc_htg_usernamesnick' ) ); 578 579 add_settings_section( 'hashtagger-settings-general-cashtags', '', array( $this, 'admin_section_general_cashtag_title' ), 'hashtagger_settings_section_general_cashtags' ); 580 register_setting( 'hashtagger_settings_general_cashtags', 'swcc_htg_cashtags' ) ; 581 add_settings_field( 'swcc_htg_settings_cashtags', __( '$cashtags', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="http://smartware.cc/docs/hashtagger/#settings_general_cashtags"></a>', array( $this, 'admin_cashtags' ), 'hashtagger_settings_section_general_cashtags', 'hashtagger-settings-general-cashtags', array( 'label_for' => 'swcc_htg_cashtags' ) ); 581 add_settings_section( 'hashtagger-settings-tags', '', array( $this, 'admin_section_tags_title' ), 'hashtagger_settings_section_tags' ); 582 register_setting( 'hashtagger_settings_tags', 'swcc_htg_tags_allow_numeric' ) ; 583 add_settings_field( 'swcc_htg_settings_tags_numeric', __( 'Allow numeric', 'hashtagger') . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_tags_allow_numeric"></a>' , array( $this, 'admin_tags_allow_numeric' ), 'hashtagger_settings_section_tags', 'hashtagger-settings-tags', array( 'label_for' => 'swcc_htg_tags_allow_numeric' ) ); 584 585 add_settings_section( 'hashtagger-settings-usernames', '', array( $this, 'admin_section_usernames_title' ), 'hashtagger_settings_section_usernames' ); 586 register_setting( 'hashtagger_settings_usernames', 'swcc_htg_usernames' ) ; 587 register_setting( 'hashtagger_settings_usernames', 'swcc_htg_usernamesnick' ); 588 add_settings_field( 'swcc_htg_settings_usernames', __( 'Link @usernames', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_usernames_usernames"></a>', array( $this, 'admin_usernames' ), 'hashtagger_settings_section_usernames', 'hashtagger-settings-usernames', array( 'label_for' => 'swcc_htg_usernames' ) ); 589 add_settings_field( 'swcc_htg_settings_usernamesnick', __( '@nicknames', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_usernames_nicknames"></a>', array( $this, 'admin_usernamesnick' ), 'hashtagger_settings_section_usernames', 'hashtagger-settings-usernames', array( 'label_for' => 'swcc_htg_usernamesnick' ) ); 590 591 add_settings_section( 'hashtagger-settings-cashtags', '', array( $this, 'admin_section_cashtag_title' ), 'hashtagger_settings_section_cashtags' ); 592 register_setting( 'hashtagger_settings_cashtags', 'swcc_htg_cashtags' ) ; 593 add_settings_field( 'swcc_htg_settings_cashtags', __( '$cashtags', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_cashtags"></a>', array( $this, 'admin_cashtags' ), 'hashtagger_settings_section_cashtags', 'hashtagger-settings-cashtags', array( 'label_for' => 'swcc_htg_cashtags' ) ); 582 594 583 595 add_settings_section( 'hashtagger-settings-advanced', '', array( $this, 'admin_section_advanced_title' ), 'hashtagger_settings_section_advanced' ); 584 596 register_setting( 'hashtagger_settings_advanced', 'swcc_htg_advanced_nodelete' ); 585 add_settings_field( 'swcc_htg_settings_advanced_nodelete', __( 'Do not delete unused Tags', 'hashtagger') . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_advanced_nodelete"></a>' , array( $this, 'admin_advanced_nodelete' ), 'hashtagger_settings_section_advanced', 'hashtagger-settings-advanced', array( 'label_for' => 'swcc_htg_advanced_nodelete' ) );597 add_settings_field( 'swcc_htg_settings_advanced_nodelete', __( 'Do not delete unused Tags', 'hashtagger') . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_advanced_nodelete"></a>' , array( $this, 'admin_advanced_nodelete' ), 'hashtagger_settings_section_advanced', 'hashtagger-settings-advanced', array( 'label_for' => 'swcc_htg_advanced_nodelete' ) ); 586 598 587 599 add_settings_section( 'hashtagger-settings-posttype', '', array( $this, 'admin_section_posttype_title' ), 'hashtagger_settings_section_posttype' ); 588 600 register_setting( 'hashtagger_settings_posttype', 'swcc_htg_posttype_page' ); 589 601 register_setting( 'hashtagger_settings_posttype', 'swcc_htg_posttype_custom' ); 590 add_settings_field( 'swcc_htg_settings_posttype_post', __( 'Posts' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_posttypes_posts"></a>', array( $this, 'admin_posttype_post' ), 'hashtagger_settings_section_posttype', 'hashtagger-settings-posttype', array( 'label_for' => 'swcc_htg_posttype_post' ) );591 add_settings_field( 'swcc_htg_settings_posttype_page', __( 'Pages' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_posttypes_pages"></a>', array( $this, 'admin_posttype_page' ), 'hashtagger_settings_section_posttype', 'hashtagger-settings-posttype', array( 'label_for' => 'swcc_htg_posttype_page' ) );592 add_settings_field( 'swcc_htg_settings_posttype_custom', __( 'Custom Post Types', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_posttypes_custom"></a>', array( $this, 'admin_posttype_custom' ), 'hashtagger_settings_section_posttype', 'hashtagger-settings-posttype', array( 'label_for' => 'swcc_htg_posttype_custom' ) );602 add_settings_field( 'swcc_htg_settings_posttype_post', __( 'Posts' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_posttypes_posts"></a>', array( $this, 'admin_posttype_post' ), 'hashtagger_settings_section_posttype', 'hashtagger-settings-posttype', array( 'label_for' => 'swcc_htg_posttype_post' ) ); 603 add_settings_field( 'swcc_htg_settings_posttype_page', __( 'Pages' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_posttypes_pages"></a>', array( $this, 'admin_posttype_page' ), 'hashtagger_settings_section_posttype', 'hashtagger-settings-posttype', array( 'label_for' => 'swcc_htg_posttype_page' ) ); 604 add_settings_field( 'swcc_htg_settings_posttype_custom', __( 'Custom Post Types', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_posttypes_custom"></a>', array( $this, 'admin_posttype_custom' ), 'hashtagger_settings_section_posttype', 'hashtagger-settings-posttype', array( 'label_for' => 'swcc_htg_posttype_custom' ) ); 593 605 594 606 add_settings_section( 'hashtagger-settings-sectiontype', '', array( $this, 'admin_section_sectiontype_title' ), 'hashtagger_settings_section_sectiontype' ); 595 607 register_setting( 'hashtagger_settings_sectiontype', 'swcc_htg_sectiontype_title' ); 596 608 register_setting( 'hashtagger_settings_sectiontype', 'swcc_htg_sectiontype_excerpt' ); 597 add_settings_field( 'swcc_htg_sectiontype_title', __( 'Title' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_sectiontypes_title"></a>', array( $this, 'admin_sectiontype_title' ), 'hashtagger_settings_section_sectiontype', 'hashtagger-settings-sectiontype', array( 'label_for' => 'swcc_htg_sectiontype_title' ) );598 add_settings_field( 'swcc_htg_sectiontype_excerpt', __( 'Excerpt' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_sectiontypes_excerpt"></a>', array( $this, 'admin_sectiontype_excerpt' ), 'hashtagger_settings_section_sectiontype', 'hashtagger-settings-sectiontype', array( 'label_for' => 'swcc_htg_sectiontype_excerpt' ) );599 add_settings_field( 'swcc_htg_sectiontype_content', __( 'Content' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_sectiontypes_content"></a>', array( $this, 'admin_sectiontype_content' ), 'hashtagger_settings_section_sectiontype', 'hashtagger-settings-sectiontype', array( 'label_for' => 'swcc_htg_sectiontype_content' ) );609 add_settings_field( 'swcc_htg_sectiontype_title', __( 'Title' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_sectiontypes_title"></a>', array( $this, 'admin_sectiontype_title' ), 'hashtagger_settings_section_sectiontype', 'hashtagger-settings-sectiontype', array( 'label_for' => 'swcc_htg_sectiontype_title' ) ); 610 add_settings_field( 'swcc_htg_sectiontype_excerpt', __( 'Excerpt' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_sectiontypes_excerpt"></a>', array( $this, 'admin_sectiontype_excerpt' ), 'hashtagger_settings_section_sectiontype', 'hashtagger-settings-sectiontype', array( 'label_for' => 'swcc_htg_sectiontype_excerpt' ) ); 611 add_settings_field( 'swcc_htg_sectiontype_content', __( 'Content' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_sectiontypes_content"></a>', array( $this, 'admin_sectiontype_content' ), 'hashtagger_settings_section_sectiontype', 'hashtagger-settings-sectiontype', array( 'label_for' => 'swcc_htg_sectiontype_content' ) ); 600 612 601 613 add_settings_section( 'hashtagger-settings-css', '', array( $this, 'admin_section_css_title' ), 'hashtagger_settings_section_css' ); … … 604 616 register_setting( 'hashtagger_settings_css', 'swcc_htg_usernamescssclass', array( $this, 'admin_cssclass_validate' ) ); 605 617 register_setting( 'hashtagger_settings_css', 'swcc_htg_cashtagcssclass', array( $this, 'admin_cssclass_validate' ) ); 606 add_settings_field( 'swcc_htg_settings_cssclass', __( 'CSS class name(s) for #hashtags', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_css_hashtags"></a>', array( $this, 'admin_cssclass' ), 'hashtagger_settings_section_css', 'hashtagger-settings-css', array( 'label_for' => 'swcc_htg_cssclass' ) );607 add_settings_field( 'swcc_htg_settings_cssclass_notag', __( 'CSS class name(s) for +#hashtag links', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_css_hashtaglinks"></a>', array( $this, 'admin_cssclass_notag' ), 'hashtagger_settings_section_css', 'hashtagger-settings-css', array( 'label_for' => 'swcc_htg_cssclass_notag' ) );608 add_settings_field( 'swcc_htg_settings_usernamescssclass', __( 'CSS class name(s) for @usernames', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_css_usernames"></a>', array( $this, 'admin_usernamescssclass' ), 'hashtagger_settings_section_css', 'hashtagger-settings-css', array( 'label_for' => 'swcc_htg_usernamescssclass' ) );609 add_settings_field( 'swcc_htg_settings_cashtagcssclass', __( 'CSS class name(s) for $cashtags', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_css_usernames"></a>', array( $this, 'admin_cashtagcssclass' ), 'hashtagger_settings_section_css', 'hashtagger-settings-css', array( 'label_for' => 'swcc_htg_cashtagcssclass' ) );618 add_settings_field( 'swcc_htg_settings_cssclass', __( 'CSS class name(s) for #hashtags', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_css_hashtags"></a>', array( $this, 'admin_cssclass' ), 'hashtagger_settings_section_css', 'hashtagger-settings-css', array( 'label_for' => 'swcc_htg_cssclass' ) ); 619 add_settings_field( 'swcc_htg_settings_cssclass_notag', __( 'CSS class name(s) for +#hashtag links', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_css_hashtaglinks"></a>', array( $this, 'admin_cssclass_notag' ), 'hashtagger_settings_section_css', 'hashtagger-settings-css', array( 'label_for' => 'swcc_htg_cssclass_notag' ) ); 620 add_settings_field( 'swcc_htg_settings_usernamescssclass', __( 'CSS class name(s) for @usernames', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_css_usernames"></a>', array( $this, 'admin_usernamescssclass' ), 'hashtagger_settings_section_css', 'hashtagger-settings-css', array( 'label_for' => 'swcc_htg_usernamescssclass' ) ); 621 add_settings_field( 'swcc_htg_settings_cashtagcssclass', __( 'CSS class name(s) for $cashtags', 'hashtagger' ) . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_css_usernames"></a>', array( $this, 'admin_cashtagcssclass' ), 'hashtagger_settings_section_css', 'hashtagger-settings-css', array( 'label_for' => 'swcc_htg_cashtagcssclass' ) ); 610 622 611 623 add_settings_section( 'hashtagger-settings-display', '', array( $this, 'admin_section_display_title' ), 'hashtagger_settings_section_display' ); 612 624 register_setting( 'hashtagger_settings_display', 'swcc_htg_display_nosymbols' ); 613 add_settings_field( 'swcc_htg_display_nosymbols', __( 'Remove symbols from links', 'hashtagger') . ' <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_display"></a>' , array( $this, 'admin_display_nosymbols' ), 'hashtagger_settings_section_display', 'hashtagger-settings-display', array( 'label_for' => 'swcc_htg_display_nosymbols' ) );625 add_settings_field( 'swcc_htg_display_nosymbols', __( 'Remove symbols from links', 'hashtagger') . ' <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_display"></a>' , array( $this, 'admin_display_nosymbols' ), 'hashtagger_settings_section_display', 'hashtagger-settings-display', array( 'label_for' => 'swcc_htg_display_nosymbols' ) ); 614 626 } 615 627 … … 618 630 // * 619 631 620 // * General Section 621 622 // echo title for general settings section 623 function admin_section_general_title() { 632 // * Tags Section 633 634 // echo title for tags settings section 635 function admin_section_tags_title() { 636 echo '<p><strong>' . __( 'Tag-Syntax', 'hashtagger' ) . ':</strong></p><hr />'; 637 } 638 639 // handle the settings field : allow numeric 640 function admin_tags_allow_numeric() { 641 echo '<input type="checkbox" name="swcc_htg_tags_allow_numeric" id="swcc_htg_tags_allow_numeric" value="1"' . ( ( $this->settings['tags_allow_numeric'] == true ) ? 'checked="checked"' : '' ) . ' /><label for="swcc_htg_tags_allow_numeric" class="check"></label>' . __( 'Enable tags starting with numbers', 'hashtagger' ) . '<br /><span class="dashicons dashicons-warning"></span><strong>' . __( 'Please note that this is not commonly used. Twitter, Instagram, YouTube, Pinterest, Google+ and other platforms do not support hashtags starting with or using only numbers.', 'hashtagger'); 642 } 643 644 // * Usernames Section 645 646 // echo title for usernames settings section 647 function admin_section_usernames_title() { 624 648 echo '<p><strong>' . __( 'Handling of @usernames', 'hashtagger' ) . ':</strong></p><hr />'; 625 649 } … … 638 662 // handle the settings field : use nicknames instead of usernames 639 663 function admin_usernamesnick() { 640 echo '<input type="checkbox" name="swcc_htg_usernamesnick" id="swcc_htg_usernamesnick" value="1"' . ( ( $this->settings['usernamesnick'] == true ) ? 'checked="checked"' : '' ) . ' /><label for="swcc_htg_usernamesnick" class="check"></label>' . __( 'Use @nicknames instead of @usernames', 'hashtagger' ) . '<br /><div class="dashicons dashicons-shield"></div><strong>' . __( 'Highly recommended to enhance WordPress security!', 'hashtagger') . ' <a href="http:// smartware.cc/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames/">' . __( 'Read more', 'hashtagger' ) . '</a>';641 } 642 643 // echo title for generalsettings section644 function admin_section_ general_cashtag_title() {664 echo '<input type="checkbox" name="swcc_htg_usernamesnick" id="swcc_htg_usernamesnick" value="1"' . ( ( $this->settings['usernamesnick'] == true ) ? 'checked="checked"' : '' ) . ' /><label for="swcc_htg_usernamesnick" class="check"></label>' . __( 'Use @nicknames instead of @usernames', 'hashtagger' ) . '<br /><div class="dashicons dashicons-shield"></div><strong>' . __( 'Highly recommended to enhance WordPress security!', 'hashtagger') . ' <a href="http://petersplugins.com/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames/">' . __( 'Read more', 'hashtagger' ) . '</a>'; 665 } 666 667 // echo title for cashtags settings section 668 function admin_section_cashtag_title() { 645 669 echo '<p><strong>' . __( 'Handling of $cashtags', 'hashtagger' ) . ':</strong></p><hr />'; 646 670 } … … 792 816 var counter = 0; 793 817 var abort = false; 794 jQuery( '#hashtagger_ajax_area' ).html( '<p><input type="checkbox" name="hashtagger_regenerate_confirmation" id="hashtagger_regenerate_confirmation" value="ok" /><label for="hashtagger_regenerate_confirmation" class="check"></label><span id="hashtagger_regenerate_confirmation_hint"><?php _e( 'Please confirm to regenerate', 'hashtagger' ); ?> <a class="dashicons dashicons-editor-help" href=" http://smartware.cc/docs/hashtagger/#settings_regeneration"></a></span></p><p><input type="button" name="sumbit_regnerate" id="sumbit_regnerate" class="button button-primary button-large" value="<?php _e( 'Process all objects', 'hashtagger' ); ?> (<?php echo count( $objects ); ?>)" /></p>' );818 jQuery( '#hashtagger_ajax_area' ).html( '<p><input type="checkbox" name="hashtagger_regenerate_confirmation" id="hashtagger_regenerate_confirmation" value="ok" /><label for="hashtagger_regenerate_confirmation" class="check"></label><span id="hashtagger_regenerate_confirmation_hint"><?php _e( 'Please confirm to regenerate', 'hashtagger' ); ?> <a class="dashicons dashicons-editor-help" href="' . $this->caller->dc_url . '/#settings_regeneration"></a></span></p><p><input type="button" name="sumbit_regnerate" id="sumbit_regnerate" class="button button-primary button-large" value="<?php _e( 'Process all objects', 'hashtagger' ); ?> (<?php echo count( $objects ); ?>)" /></p>' ); 795 819 jQuery( '#sumbit_regnerate' ).click( function() { 796 820 if ( jQuery( '#hashtagger_regenerate_confirmation' ).prop( 'checked' ) ) { … … 861 885 <div class="inside"> 862 886 <ul> 863 <li><div class="dashicons dashicons-wordpress"></div> <a href=" http://wordpress.org/extend/plugins/hashtagger/"><?php _e( 'Please rate the plugin', 'hashtagger' ); ?></a></li>864 <li><div class="dashicons dashicons-admin-home"></div> <a href=" http://smartware.cc/wp-hashtagger/"><?php _e( 'Plugin homepage', 'hashtagger'); ?></a></li>865 <li><div class="dashicons dashicons-admin-home"></div> <a href="http:// smartware.cc/"><?php _e( 'Author homepage', 'hashtagger' );?></a></li>866 <li><div class="dashicons dashicons-googleplus"></div> <a href="http s://plus.google.com/+SmartwareCc"><?php _e( 'Authors Google+ Page', 'hashtagger' ); ?></a></li>867 <li><div class="dashicons dashicons-facebook-alt"></div> <a href="http s://www.facebook.com/smartware.cc"><?php _e( 'Authors facebook Page', 'hashtagger' ); ?></a></li>887 <li><div class="dashicons dashicons-wordpress"></div> <a href="<?php echo $this->caller->wp_url; ?>/"><?php _e( 'Please rate the plugin', 'hashtagger' ); ?></a></li> 888 <li><div class="dashicons dashicons-admin-home"></div> <a href="<?php echo $this->caller->my_url; ?>/"><?php _e( 'Plugin homepage', 'hashtagger'); ?></a></li> 889 <li><div class="dashicons dashicons-admin-home"></div> <a href="http://petersplugins.com/"><?php _e( 'Author homepage', 'hashtagger' );?></a></li> 890 <li><div class="dashicons dashicons-googleplus"></div> <a href="http://g.petersplugins.com"><?php _e( 'Authors Google+ Page', 'hashtagger' ); ?></a></li> 891 <li><div class="dashicons dashicons-facebook-alt"></div> <a href="http://f.petersplugins.com"><?php _e( 'Authors facebook Page', 'hashtagger' ); ?></a></li> 868 892 </ul> 869 893 </div> … … 873 897 <div class="inside"> 874 898 <ul> 875 <li><div class="dashicons dashicons-book-alt"></div> <a href=" http://smartware.cc/docs/hashtagger/">Take a look at the Plugin Doc</a></li>876 <li><div class="dashicons dashicons-wordpress"></div> <a href=" http://wordpress.org/plugins/hashtagger/faq/"><?php _e( 'Take a look at the FAQ section', 'hashtagger' ); ?></a></li>877 <li><div class="dashicons dashicons-wordpress"></div> <a href="http://wordpress.org/support/plugin/ hashtagger"><?php _e( 'Take a look at the Support section', 'hashtagger'); ?></a></li>878 <li><div class="dashicons dashicons-admin-comments"></div> <a href="http:// smartware.cc/contact/"><?php _e( 'Feel free to contact the Author', 'hashtagger' ); ?></a></li>899 <li><div class="dashicons dashicons-book-alt"></div> <a href="<?php echo $this->caller->dc_url; ?>"><?php _e( 'Take a look at the Plugin Doc', 'hashtagger' ); ?></a></li> 900 <li><div class="dashicons dashicons-wordpress"></div> <a href="<?php echo $this->caller->wp_url; ?>/faq/"><?php _e( 'Take a look at the FAQ section', 'hashtagger' ); ?></a></li> 901 <li><div class="dashicons dashicons-wordpress"></div> <a href="http://wordpress.org/support/plugin/<?php echo $this->caller->plugin_slug; ?>/"><?php _e( 'Take a look at the Support section', 'hashtagger'); ?></a></li> 902 <li><div class="dashicons dashicons-admin-comments"></div> <a href="http://petersplugins.com/contact/"><?php _e( 'Feel free to contact the Author', 'hashtagger' ); ?></a></li> 879 903 </ul> 904 </div> 905 </div> 906 <div class="postbox"> 907 <h3><span><?php _e( 'Translate this Plugin', 'hashtagger' ); ?></span></h3> 908 <div class="inside"> 909 <p><?php _e( 'It would be great if you\'d support the hashtagger Plugin by adding a new translation or keeping an existing one up to date!', 'hashtagger' ); ?></p> 910 <p><a href="https://translate.wordpress.org/projects/wp-plugins/<?php echo $this->caller->plugin_slug; ?>"><?php _e( 'Translate online', 'hashtagger' ); ?></a></p> 880 911 </div> 881 912 </div> -
hashtagger/trunk/readme.txt
r1314413 r1477619 1 1 === hashtagger === 2 Contributors: smartware.cc, petersplugins3 Donate link:http:// smartware.cc/make-a-donation/2 Contributors: petersplugins, smartware.cc 3 Donate link:http://petersplugins.com/make-a-donation/ 4 4 Tags: hashtag, hashtags, tag, tags, tag archive, archive, social, twitter, facebook 5 5 Requires at least: 3.0 6 Tested up to: 4. 47 Stable tag: 3. 36 Tested up to: 4.6 7 Stable tag: 3.4 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 15 15 > Use #hashtags and @usernames in your posts. 16 16 17 **See also [Plugin Homepage](http:// smartware.cc/free-wordpress-plugins/hashtagger/) and [Plugin Doc](http://smartware.cc/docs/hashtagger/)**17 **See also [Plugin Homepage](http://petersplugins.com/free-wordpress-plugins/hashtagger/) and [Plugin Doc](http://petersplugins.com/docs/hashtagger/)** 18 18 19 19 https://www.youtube.com/watch?v=cNNn1VLz4zs 20 20 21 = New in Version 3. 3=22 23 **hashtagger 3.3 introduces cashtags and allows to remove symbols from links** ([Read more](http://smartware.cc/blog/2015/12/22/hashtagger-intoduces-cashtags-and-more-changes/)) 21 = New in Version 3.4 = 22 23 hashtagger now supports usage of the same hashtag in different languages in combination wit Polylang. 24 24 25 25 = #hashtags = … … 35 35 The usage of @usernames can be activated optionally. @usernames can link either to the Users Profile Page or to the Users Website. If the username does not exist the text remains unchanged and no link is created. 36 36 37 Optionally @nicknames can be used instead of @usernames. This is **recommended to enhance security** ([read more](http:// smartware.cc/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames/)). Although using @nicknames is the better option, the default is @usernames for compatibility to Plugin versions prior 2.1.37 Optionally @nicknames can be used instead of @usernames. This is **recommended to enhance security** ([read more](http://petersplugins.com/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames/)). Although using @nicknames is the better option, the default is @usernames for compatibility to Plugin versions prior 2.1. 38 38 39 39 = $cashtags = … … 63 63 = WordPress Security = 64 64 65 **It is highly recommended to use @nicknames instead of @usernames!** Please read [this article](http:// smartware.cc/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames/)!65 **It is highly recommended to use @nicknames instead of @usernames!** Please read [this article](http://petersplugins.com/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames/)! 66 66 67 67 = Post Types and Section Types = … … 84 84 `<?php echo do_hashtagger( get_post_meta( get_the_ID(), 'mycustomfield', true ) ); ?>` 85 85 86 = Languages = 87 88 * English 89 * German 90 * Spanish (thanks to [Andrew](http://www.webhostinghub.com)) 91 92 **Translators welcome!** Please use [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/hashtagger) to translate. 86 = Translations = 87 88 As of version 3.4 the hashatgger Plugin uses GlotPress - the wordpress.org Translation System - for translations. Translations can be submitted at [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/hashtagger). 89 90 **Translation are highly appreciated**. It would be great if you'd support the hashtagger Plugin by adding a new translation or keeping an existing one up to date. If you're new to GlotPress take a look at the [Translator Handbook](https://make.wordpress.org/polyglots/handbook/tools/glotpress-translate-wordpress-org/). 93 91 94 92 = Do you like the hashtagger Plugin? = 95 93 96 Thanks, I appreciate that. You don’t need to make a donation. No money, no beer, no coffee. Please, just [tell the world that you like what I’m doing](http://smartware.cc/make-a-donation/)! And that’s all. 97 98 = More plugins from smartware.cc = 99 100 * **[404page](https://wordpress.org/plugins/404page/)** Define any of your WordPress pages as 404 error page 101 * **[link-log](https://wordpress.org/plugins/link-log/)** - Find out where your visitors leave to. Track clicks on external links. 94 Thanks, I appreciate that. You don’t need to make a donation. No money, no beer, no coffee. Please, just [tell the world that you like what I’m doing](http://petersplugins.com/make-a-donation/)! And that’s all. 95 96 = More plugins from Peter = 97 98 * **[404page](https://wordpress.org/plugins/404page/)** - Define any of your WordPress pages as 404 error page 102 99 * **[smart Archive Page Remove](https://wordpress.org/plugins/smart-archive-page-remove/)** - Completely remove unwated Archive Pages from your Blog 103 100 * **[smart User Slug Hider](https://wordpress.org/plugins/smart-user-slug-hider/)** - Hide usernames in author pages URLs to enhance security 104 * **[JavaScript AutoLoader](https://wordpress.org/plugins/javascript-autoloader/)** - Load JavaScript files without changing files in the theme directory or installing several plugins to add all the desired functionality101 * [See all](https://profiles.wordpress.org/petersplugins/#content-plugins) 105 102 106 103 == Installation == … … 122 119 = What characters can a hashtag include? = 123 120 124 The hashtag detection follows the rules for hashtags on Twitter, Facebook and Google+. The minimum length for a hashtag is 2 characters. A hashtag must not start with a number . A hashtag not only ends at a space but also at punctuation marks and other special characters. A hashtag may contain underscores.121 The hashtag detection follows the rules for hashtags on Twitter, Facebook and Google+. The minimum length for a hashtag is 2 characters. A hashtag must not start with a number (this can be changed optionally). A hashtag not only ends at a space but also at punctuation marks and other special characters. A hashtag may contain underscores. 125 122 126 123 = Does this also work for pages? = … … 140 137 = Why should I use @nicknames instead of @usernames = 141 138 142 This is important to enhance WordPress security. Please read [this article](http:// smartware.cc/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames/).139 This is important to enhance WordPress security. Please read [this article](http://petersplugins.com/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames). 143 140 144 141 = Can I use #hashtags and/or @usernames in Excerpts? = … … 156 153 == Screenshots == 157 154 158 1. hashtagger Settings General Section: This section shows the current Tag base setting and the handling of @usernames respectively @nicknames can be changed here 159 2. hashtagger Settings Advanced Section: As of version 3.0 it is possible to not delete tags that are not found in content – may be useful if already a lot of posts with tags exist - but please note that with this setting activated tags will not be removed if you delete a hashtag 160 3. hashtagger Settings Post Types Section: In this section the Post Types to handle can be defined - activate only the Post Types for which you want to use hashtags to make sure posts are nor processed unnecessarily for better performance 161 4. hashtagger Settings Section Types Section: In this section the Section Types to handle can be defined - only activate the Section Types you want to use for best performance 162 5. hashtagger Settings CSS Style Section: Add CSS Classes to use for the generated links in Front End 163 6. hashtagger Settings Display Section: Option to not display symbols in front of generated links in Front End 164 7. hashtagger Settings Regenerate Section: Regenerate all existing Objects with the current settings 155 1. hashtagger Settings General Section: This section shows the current Tag base setting 156 2. hashtagger Settings Tags Section: Option to allow hashtags starting with numbers 157 3. hashtagger Settings Usernames Section: Handling of @usernames respectively @nicknames can be changed here 158 4. hashtagger Settings Cashtags Section: Handling of $cashtags can be changed here 159 5. hashtagger Settings Advanced Section: Option to not delete tags that are not found in content – may be useful if already a lot of posts with tags exist - but please note that with this setting activated tags will not be removed if you delete a hashtag 160 6. hashtagger Settings Post Types Section: In this section the Post Types to handle can be defined - activate only the Post Types for which you want to use hashtags to make sure posts are nor processed unnecessarily for better performance 161 7. hashtagger Settings Section Types Section: In this section the Section Types to handle can be defined - only activate the Section Types you want to use for best performance 162 8. hashtagger Settings CSS Style Section: Add CSS Classes to use for the generated links in Front End 163 9. hashtagger Settings Display Section: Option to not display symbols in front of generated links in Front End 164 10. hashtagger Settings Regenerate Section: Regenerate all existing Objects with the current settings 165 165 166 166 == Changelog == 167 168 = 3.4 (2016-08-18) = 169 * Enhanced Polylang support to allow same hashtag in several languages 170 * Option to allow hashtags starting with numbers 167 171 168 172 = 3.3 (2015-12-22) = … … 183 187 184 188 = 2.1 (2014-10-10) = 185 * Optionally use @nicknames instead of @usernames (**important** - [read more](http:// smartware.cc/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames/) - thanks to [joeymalek](https://profiles.wordpress.org/joeymalek/) for pointing out)189 * Optionally use @nicknames instead of @usernames (**important** - [read more](http://petersplugins.com/wp-hashtagger/hashtagger-plugin-why-you-should-use-nicknames-instead-of-usernames/) - thanks to [joeymalek](https://profiles.wordpress.org/joeymalek/) for pointing out) 186 190 * Added `do_hashtagger()` Theme Function (thanks to [joinfof](https://profiles.wordpress.org/joinfof/) for the idea) 187 191 … … 208 212 == Upgrade Notice == 209 213 214 = 3.4 = 215 * Enhanced Polylang support to allow same hashtag in several languages, option to allow hashtags starting with numbers 216 210 217 = 3.3 = 211 218 Version 3.3 introduces $cashtag feature
Note: See TracChangeset
for help on using the changeset viewer.