Version Description
- enhancement I added a highly dismissable notice to the plugins page upon update, encouraging people to purchase my Premium styles add-on. The notice only shows to folks who have not previously customized their own styles, and once dismissed will never be shown to that user again.
- enhancement I made several changes to the readme file so that the plugin is showcased nicely in the WordPress Plugin Directory's new design.
Download this release
Release Info
Developer | ben.meredith@gmail.com |
Plugin | Better Click To Tweet |
Version | 5.1 |
Comparing to | |
See all releases |
Code changes from version 5.0.2 to 5.1
- admin-nags.php +117 -0
- assets/img/premium_style.png +0 -0
- better-click-to-tweet.php +12 -7
- readme.txt +14 -12
admin-nags.php
ADDED
@@ -0,0 +1,117 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
function bctt_alerts() {
|
4 |
+
if (is_plugin_active('better-click-to-tweet-premium-styles/better-click-to-tweet-premium-styles.php')) {
|
5 |
+
return;
|
6 |
+
}
|
7 |
+
|
8 |
+
$screen = get_current_screen();
|
9 |
+
|
10 |
+
$screenparent = $screen->parent_file;
|
11 |
+
|
12 |
+
|
13 |
+
if ( $screenparent == 'plugins.php' && current_user_can( 'install_plugins' ) ) {
|
14 |
+
|
15 |
+
$user_id = wp_get_current_user()->ID;
|
16 |
+
$has_dismissed = get_user_meta( $user_id, 'bctt_has_dismissed_nag', true );
|
17 |
+
|
18 |
+
if ( ! $has_dismissed && ! bctt_add_custom_style_option() ) {
|
19 |
+
//add style inline so that it isn't enqueued if not used
|
20 |
+
?>
|
21 |
+
<style>
|
22 |
+
span.bctt-addon-nag-header {
|
23 |
+
font-size: large;
|
24 |
+
font-weight: bold;
|
25 |
+
}
|
26 |
+
|
27 |
+
.updated.bctt-addon-nag {
|
28 |
+
padding: 1em;
|
29 |
+
}
|
30 |
+
|
31 |
+
p.bctt-addon-nag-copy {
|
32 |
+
|
33 |
+
}
|
34 |
+
|
35 |
+
ul.bctt-addon-nag-list {
|
36 |
+
list-style-type: none;
|
37 |
+
margin-left: 2em;
|
38 |
+
}
|
39 |
+
|
40 |
+
.bctt-addon-nag-list li:before {
|
41 |
+
content: "\f155";
|
42 |
+
display: inline-block;
|
43 |
+
-webkit-font-smoothing: antialiased;
|
44 |
+
font: normal 16px/1 'dashicons';
|
45 |
+
color: #46b450;
|
46 |
+
margin-right: 10px;
|
47 |
+
word-wrap: break-word;
|
48 |
+
}
|
49 |
+
|
50 |
+
.bctt-addon-nag-dismiss {
|
51 |
+
float: right;
|
52 |
+
text-decoration: none;
|
53 |
+
}
|
54 |
+
.bctt-nag-photo {
|
55 |
+
float: right;
|
56 |
+
margin:0;
|
57 |
+
max-height:105px;
|
58 |
+
max-width:98%;
|
59 |
+
}
|
60 |
+
@media screen and (max-width: 782px) {
|
61 |
+
.bctt-nag-photo {
|
62 |
+
float:none;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
.bctt-nag-purchase-link {
|
66 |
+
font-size: large;
|
67 |
+
}
|
68 |
+
</style>
|
69 |
+
<div class="updated bctt-addon-nag">
|
70 |
+
|
71 |
+
<a href="<?php
|
72 |
+
//The Dismiss Button.
|
73 |
+
$nag_meta_key = 'bctt_has_dismissed_nag';
|
74 |
+
$nag_admin_dismiss_url = 'plugins.php?' . $nag_meta_key . '=0';
|
75 |
+
echo admin_url( $nag_admin_dismiss_url ); ?>" class="dismiss bctt-addon-nag-dismiss">Dismiss this <span
|
76 |
+
class="dashicons dashicons-dismiss"></span></a>
|
77 |
+
<h3
|
78 |
+
class="bctt-addon-nag-header"><?php esc_html_e( 'Add Premium Style to your Better Click To Tweet boxes!', 'better-click-to-tweet' ) ?></h3>
|
79 |
+
|
80 |
+
<a href="http://benlikes.us/bcttnag"
|
81 |
+
target="_blank"><img class="bctt-nag-photo" src="<?php echo plugins_url() . '/better-click-to-tweet/assets/img/premium_style.png'?>"/></a>
|
82 |
+
|
83 |
+
<p class="bctt-addon-nag-copy"><?php esc_attr_e( 'Choose from multiple options when styling your Better Click To Tweet boxes, with no code.', 'better-click-to-tweet' ) ?></p>
|
84 |
+
<ul class="bctt-addon-nag-list">
|
85 |
+
<li><?php esc_html_e( 'Make your Better Click To Tweet boxes stand out.', 'better-click-to-tweet' ) ?></li>
|
86 |
+
<li><?php esc_html_e( 'Get more clicks and tweets.', 'better-click-to-tweet' ) ?></li>
|
87 |
+
<li><?php esc_html_e( 'Support the development of Better Click To Tweet!', 'better-click-to-tweet' ) ?></li>
|
88 |
+
</ul>
|
89 |
+
<p class="bctt-addon-nag-copy">
|
90 |
+
<a class="bctt-nag-purchase-link" href="http://benlikes.us/bcttnag"
|
91 |
+
target="_blank"><?php esc_html_e( 'Purchase it today', 'better-click-to-tweet' ) ?></a> <?php esc_html_e( 'Save 8% with the code NAGSareTHEbest', 'better-click-to-tweet') ?></p>
|
92 |
+
</div>
|
93 |
+
<?php
|
94 |
+
}
|
95 |
+
}
|
96 |
+
}
|
97 |
+
|
98 |
+
add_action( 'admin_notices', 'bctt_alerts' );
|
99 |
+
|
100 |
+
function bctt_addon_notice_ignore() {
|
101 |
+
|
102 |
+
/**
|
103 |
+
* If user clicks to ignore the notice, add that to their user meta the banner then checks whether this tag exists already or not.
|
104 |
+
* See here: http://codex.wordpress.org/Function_Reference/add_user_meta
|
105 |
+
*/
|
106 |
+
|
107 |
+
if ( isset( $_GET['bctt_has_dismissed_nag'] ) && '0' == $_GET['bctt_has_dismissed_nag'] ) {
|
108 |
+
|
109 |
+
//Get the global user
|
110 |
+
$current_user = wp_get_current_user();
|
111 |
+
$user_id = $current_user->ID;
|
112 |
+
|
113 |
+
add_user_meta( $user_id, 'bctt_has_dismissed_nag', 'true', true );
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
add_action( 'current_screen', 'bctt_addon_notice_ignore' );
|
assets/img/premium_style.png
ADDED
Binary file
|
better-click-to-tweet.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Better Click To Tweet
|
4 |
Description: Add Click to Tweet boxes simply and elegantly to your posts or pages. All the features of a premium plugin, for FREE!
|
5 |
-
Version: 5.
|
6 |
Author: Ben Meredith
|
7 |
Author URI: https://www.wpsteward.com
|
8 |
Plugin URI: https://wordpress.org/plugins/better-click-to-tweet/
|
@@ -12,7 +12,7 @@ Text Domain: better-click-to-tweet
|
|
12 |
include 'i18n-module.php';
|
13 |
include 'bctt_options.php';
|
14 |
include 'bctt-i18n.php';
|
15 |
-
|
16 |
|
17 |
defined( 'ABSPATH' ) or die( "No soup for you. You leave now." );
|
18 |
|
@@ -26,6 +26,7 @@ defined( 'ABSPATH' ) or die( "No soup for you. You leave now." );
|
|
26 |
* @param bool $strip_html ensures that html is stripped from text string
|
27 |
*/
|
28 |
|
|
|
29 |
function bctt_shorten( $input, $length, $ellipsis = true, $strip_html = true ) {
|
30 |
|
31 |
if ( $strip_html ) {
|
@@ -82,14 +83,14 @@ function bctt_shorten( $input, $length, $ellipsis = true, $strip_html = true ) {
|
|
82 |
|
83 |
function bctt_shortcode( $atts ) {
|
84 |
|
85 |
-
$atts = shortcode_atts( array(
|
86 |
'tweet' => '',
|
87 |
'via' => 'yes',
|
88 |
'username' => 'not-a-real-user',
|
89 |
'url' => 'yes',
|
90 |
'nofollow' => 'no',
|
91 |
'prompt' => sprintf( _x( 'Click To Tweet', 'Text for the box on the reader-facing box', 'better-click-to-tweet' ) )
|
92 |
-
), $atts, 'bctt' );
|
93 |
|
94 |
//since 4.7: adds option to add in a per-box username to the tweet
|
95 |
if ( $atts['username'] != 'not-a-real-user' ) {
|
@@ -179,12 +180,13 @@ function bctt_shortcode( $atts ) {
|
|
179 |
|
180 |
if ( ! is_feed() ) {
|
181 |
|
182 |
-
|
183 |
} else {
|
184 |
|
185 |
-
|
186 |
|
187 |
}
|
|
|
188 |
}
|
189 |
|
190 |
add_shortcode( 'bctt', 'bctt_shortcode' );
|
@@ -256,9 +258,12 @@ function bctt_on_uninstall() {
|
|
256 |
|
257 |
remove_shortcode( 'bctt' );
|
258 |
|
|
|
|
|
|
|
259 |
}
|
260 |
|
261 |
-
|
262 |
|
263 |
register_uninstall_hook( __FILE__, 'bctt_on_uninstall' );
|
264 |
|
2 |
/*
|
3 |
Plugin Name: Better Click To Tweet
|
4 |
Description: Add Click to Tweet boxes simply and elegantly to your posts or pages. All the features of a premium plugin, for FREE!
|
5 |
+
Version: 5.1
|
6 |
Author: Ben Meredith
|
7 |
Author URI: https://www.wpsteward.com
|
8 |
Plugin URI: https://wordpress.org/plugins/better-click-to-tweet/
|
12 |
include 'i18n-module.php';
|
13 |
include 'bctt_options.php';
|
14 |
include 'bctt-i18n.php';
|
15 |
+
include 'admin-nags.php';
|
16 |
|
17 |
defined( 'ABSPATH' ) or die( "No soup for you. You leave now." );
|
18 |
|
26 |
* @param bool $strip_html ensures that html is stripped from text string
|
27 |
*/
|
28 |
|
29 |
+
|
30 |
function bctt_shorten( $input, $length, $ellipsis = true, $strip_html = true ) {
|
31 |
|
32 |
if ( $strip_html ) {
|
83 |
|
84 |
function bctt_shortcode( $atts ) {
|
85 |
|
86 |
+
$atts = shortcode_atts( apply_filters( 'bctt_atts', array(
|
87 |
'tweet' => '',
|
88 |
'via' => 'yes',
|
89 |
'username' => 'not-a-real-user',
|
90 |
'url' => 'yes',
|
91 |
'nofollow' => 'no',
|
92 |
'prompt' => sprintf( _x( 'Click To Tweet', 'Text for the box on the reader-facing box', 'better-click-to-tweet' ) )
|
93 |
+
) ), $atts, 'bctt' );
|
94 |
|
95 |
//since 4.7: adds option to add in a per-box username to the tweet
|
96 |
if ( $atts['username'] != 'not-a-real-user' ) {
|
180 |
|
181 |
if ( ! is_feed() ) {
|
182 |
|
183 |
+
$output = "<span class='" . $bctt_span_class . "'><span class='" . $bctt_text_span_class . "'><a href='https://twitter.com/intent/tweet?text=" . rawurlencode( html_entity_decode( $short ) ) . $handle_code . $bcttURL . "' target='_blank'" . $rel . ">" . $short . " </a></span><a href='https://twitter.com/intent/tweet?text=" . rawurlencode( html_entity_decode( $short ) ) . $handle_code . $bcttURL . "' target='_blank' class='" . $bctt_button_span_class . "'" . $rel . ">" . $atts['prompt'] . "</a></span>";
|
184 |
} else {
|
185 |
|
186 |
+
$output = "<hr /><p><em>" . $short . "</em><br /><a href='https://twitter.com/intent/tweet?text=" . rawurlencode( html_entity_decode( $short ) ) . $handle_code . $bcttURL . "' target='_blank' class='bctt-ctt-btn' " . $rel . " >" . $atts['prompt'] . "</a><br /><hr />";
|
187 |
|
188 |
}
|
189 |
+
return apply_filters( 'bctt_output', $output, $short, $bctt_button_span_class, $bctt_span_class, $bctt_text_span_class, $bcttURL, $handle_code, $rel, $atts );
|
190 |
}
|
191 |
|
192 |
add_shortcode( 'bctt', 'bctt_shortcode' );
|
258 |
|
259 |
remove_shortcode( 'bctt' );
|
260 |
|
261 |
+
delete_metadata( 'user', 0, 'bctt_has_dismissed_nag', '', true );
|
262 |
+
|
263 |
+
|
264 |
}
|
265 |
|
266 |
+
|
267 |
|
268 |
register_uninstall_hook( __FILE__, 'bctt_on_uninstall' );
|
269 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.wpsteward.com/donations/plugin-support/
|
|
4 |
Tags: click to tweet, twitter, tweet,
|
5 |
Requires at least: 3.8
|
6 |
Tested up to: 4.7
|
7 |
-
Stable tag: 5.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -12,7 +12,7 @@ Insert click to tweet boxes into your posts, simply and securely. This plugin is
|
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
= The
|
16 |
|
17 |
This plugin allows you to easily create tweetable content for your readers. Using a simple shortcode, your selected text is highlighted and made tweetable.
|
18 |
|
@@ -48,7 +48,12 @@ Translation is now managed at [the official WordPress translation page](https://
|
|
48 |
|
49 |
== Frequently Asked Questions ==
|
50 |
|
51 |
-
=
|
|
|
|
|
|
|
|
|
|
|
52 |
Better Click To Tweet enables you to create beautiful Click To Tweet boxes in your blog posts. Once you've installed and activated the plugin, click on the settings link to put in your Twitter username, and save the settings.
|
53 |
|
54 |
Then, wherever you want to insert a Click to Tweet quote, use a shortcode in the format `[bctt tweet="xxxxxxxxxxxx"]` replacing the `xxxxxxx` with your tweetable quote.
|
@@ -76,21 +81,14 @@ On the settings page for Better Click To Tweet, simply check the box indicating
|
|
76 |
|
77 |
If you run into any issues with my plugin not working alongside a certain link shortener, start a [support thread](https://wordpress.org/support/plugin/better-click-to-tweet "support forum") and include a link to the other plugin. I'll see what I can do to work with the other developer.
|
78 |
|
79 |
-
I've also written a tutorial
|
80 |
|
81 |
= Are there any other hidden tricks? =
|
82 |
-
Yes! Because I want the majority of users (who aren't as concerned with options like nofollow links and getting rid of the URL in the tweet) to be happy, most options are hidden. I've written a tutorial for using those advanced options
|
83 |
|
84 |
= What do I do if it's not working right? =
|
85 |
I am active in [the support forums](https://wordpress.org/support/plugin/better-click-to-tweet "BCTT Support"), and in patching the plugin. Start a thread there, and I will gladly help you out. Most of the time you can expect a day or two before a response. I'm in the eastern US, and I like playing with my kids at night, so you might not hear back immediately. Don't panic.
|
86 |
|
87 |
-
= What are the differences between this plugin and Click To Tweet by Todaymade? =
|
88 |
-
I originally was planning on contacting Justin at Todaymade to suggest some improvements to the code on his plugin, and in the midst of that, his plugin was unexpectedly pulled from the official repository, for having a (frowned upon) "Powered By" link. So, I set about fully overhauling the plugin.
|
89 |
-
|
90 |
-
Since that time Justin and the team over at Todaymade have rereleased a version of their plugin without the "Powered By" link. His plugin (which was originally released before the advent of the shortcode API) still doesn't use it, and for that reason is less secure than mine. For him to change to support the shortcode API is a more complicated issue, as he'll need to still provide support for how his plugin currently handles the pseudo-shortcode system, or risk breaking every current user's website.
|
91 |
-
|
92 |
-
I've pushed out many releases with bug fixes, improvements, and additional functionality, while the other plugin remains unchanged. There's no way in which my plugin doesn't live up to it's name.
|
93 |
-
|
94 |
= How can I help? =
|
95 |
Translations: https://translate.wordpress.org/projects/wp-plugins/better-click-to-tweet
|
96 |
Pull Requests: https://github.com/Benunc/better-click-to-tweet
|
@@ -103,6 +101,10 @@ Donations: http://benlikes.us/donate
|
|
103 |
|
104 |
== Changelog ==
|
105 |
|
|
|
|
|
|
|
|
|
106 |
= 5.0.2 =
|
107 |
* fix — I was incorrectly calling translation module, breaking things when people updated to the latest version of Yoast SEO.
|
108 |
|
4 |
Tags: click to tweet, twitter, tweet,
|
5 |
Requires at least: 3.8
|
6 |
Tested up to: 4.7
|
7 |
+
Stable tag: 5.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
= The most popular Click To Tweet Plugin for WordPress, for good reason. =
|
16 |
|
17 |
This plugin allows you to easily create tweetable content for your readers. Using a simple shortcode, your selected text is highlighted and made tweetable.
|
18 |
|
48 |
|
49 |
== Frequently Asked Questions ==
|
50 |
|
51 |
+
= Are there other style options? =
|
52 |
+
Yes! If you are a developer, there are [limitless options for styling](http://benlikes.us/bcttcustom "custom style for Better Click To Tweet").
|
53 |
+
|
54 |
+
If you are not a developer, I have released a premium add-on for selecting among several (and growing) different style options. Check out [Premium Styles](http://benlikes.us/bcttps "Premium Styles for Better Click To Tweet")
|
55 |
+
|
56 |
+
= How does Better Click To Tweet work? =
|
57 |
Better Click To Tweet enables you to create beautiful Click To Tweet boxes in your blog posts. Once you've installed and activated the plugin, click on the settings link to put in your Twitter username, and save the settings.
|
58 |
|
59 |
Then, wherever you want to insert a Click to Tweet quote, use a shortcode in the format `[bctt tweet="xxxxxxxxxxxx"]` replacing the `xxxxxxx` with your tweetable quote.
|
81 |
|
82 |
If you run into any issues with my plugin not working alongside a certain link shortener, start a [support thread](https://wordpress.org/support/plugin/better-click-to-tweet "support forum") and include a link to the other plugin. I'll see what I can do to work with the other developer.
|
83 |
|
84 |
+
I've also written [a tutorial](http://benlikes.us/79 "shortlink tutorial") for how to set up the shortlinks with bit.ly and yourls.org.
|
85 |
|
86 |
= Are there any other hidden tricks? =
|
87 |
+
Yes! Because I want the majority of users (who aren't as concerned with options like nofollow links and getting rid of the URL in the tweet) to be happy, most options are hidden. I've written [a tutorial for using those advanced options](http://benlikes.us/7r "power user guide")
|
88 |
|
89 |
= What do I do if it's not working right? =
|
90 |
I am active in [the support forums](https://wordpress.org/support/plugin/better-click-to-tweet "BCTT Support"), and in patching the plugin. Start a thread there, and I will gladly help you out. Most of the time you can expect a day or two before a response. I'm in the eastern US, and I like playing with my kids at night, so you might not hear back immediately. Don't panic.
|
91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
= How can I help? =
|
93 |
Translations: https://translate.wordpress.org/projects/wp-plugins/better-click-to-tweet
|
94 |
Pull Requests: https://github.com/Benunc/better-click-to-tweet
|
101 |
|
102 |
== Changelog ==
|
103 |
|
104 |
+
= 5.1 =
|
105 |
+
* enhancement — I added a highly dismissable notice to the plugins page upon update, encouraging people to purchase my Premium styles add-on. The notice only shows to folks who have not previously customized their own styles, and once dismissed will never be shown to that user again.
|
106 |
+
* enhancement — I made several changes to the readme file so that the plugin is showcased nicely in the WordPress Plugin Directory's new design.
|
107 |
+
|
108 |
= 5.0.2 =
|
109 |
* fix — I was incorrectly calling translation module, breaking things when people updated to the latest version of Yoast SEO.
|
110 |
|