Better Click To Tweet - Version 5.0

Version Description

  • enhancement settings page now looks good on mobile. Before it looked a bit like someone was actively hitting it with a bat.
  • enhancement added multiple action hooks to the settings page. This provides third party developers with the ability to add things to that page without hacking the core code.
  • enhancement made the function enqueuing the front end styles DRYer.
  • change the previous way (version 4.9) I had filtered the function enqueuing styles was throwing PHP warnings when I used it, so I introduced an options-based method for never enqueueing it in the first first place. Updated gist for that: http://benlikes.us/bcttgist2 This method will also pave the way for the most exciting update (for me) in the history of Better Click To Tweet:
  • change introduced the first premium add-on (Premium Styles), and made some changes to the settings page to facilitate that. The goal is threefold: (1) Don't introduce the option to folks who have already replaced the custom stylesheet using the power user guide http://benlikes.us/7r or by dequeueing the stylesheet using this gist http://benlikes.us/bcttgist1 (2) Introduce the option to purchase custom styles in a non-sleazy way. (3) Um, introduce the option to my tens of thousands of happy users to pay me for something.
Download this release

Release Info

Developer ben.meredith@gmail.com
Plugin Icon 128x128 Better Click To Tweet
Version 5.0
Comparing to
See all releases

Code changes from version 4.10 to 5.0

assets/css/bctt-admin.css ADDED
@@ -0,0 +1,10 @@
1
+ #post-box-container-1 {
2
+ float:right;
3
+ margin-right: -300px;
4
+ }
5
+ @media only screen and (max-width: 850px) {
6
+ #post-box-container-1 {
7
+
8
+ margin-right: 0;
9
+ }
10
+ }
assets/css/bcttstyle.css CHANGED
@@ -30,6 +30,7 @@
30
text-transform: none !important;
31
word-wrap: break-word;
32
border-bottom: none !important;
33
}
34
35
.bctt-ctt-text a:hover {
@@ -39,6 +40,7 @@
39
40
a.bctt-ctt-btn {
41
border-bottom: none !important;
42
margin: 0;
43
padding: 18px 0 0 0;
44
position: relative;
30
text-transform: none !important;
31
word-wrap: break-word;
32
border-bottom: none !important;
33
+ box-shadow: none !important;
34
}
35
36
.bctt-ctt-text a:hover {
40
41
a.bctt-ctt-btn {
42
border-bottom: none !important;
43
+ box-shadow: none !important;
44
margin: 0;
45
padding: 18px 0 0 0;
46
position: relative;
bctt_options.php CHANGED
@@ -10,16 +10,16 @@ include dirname( __FILE__ ) . '/assets/tinymce/bctt-tinymce.php';
10
11
// instantiate i18n encouragement module
12
$bctt_i18n = new yoast_i18n(
13
- array(
14
- 'textdomain' => 'better-click-to-tweet',
15
- 'project_slug' => '/wp-plugins/better-click-to-tweet/stable',
16
- 'plugin_name' => 'Better Click To Tweet',
17
- 'hook' => 'bctt_settings_top',
18
- 'glotpress_url' => 'https://translate.wordpress.org/',
19
- 'glotpress_name' => 'Translating WordPress',
20
- 'glotpress_logo' => 'https://plugins.svn.wordpress.org/better-click-to-tweet/assets/icon-256x256.png',
21
- 'register_url ' => 'https://translate.wordpress.org/projects/wp-plugins/better-click-to-tweet/',
22
- )
23
);
24
25
// Add Settings Link
@@ -28,7 +28,8 @@ add_action( 'admin_menu', 'bctt_admin_menu' );
28
29
function bctt_admin_menu() {
30
add_action( 'admin_init', 'bctt_register_settings', 100, 1 );
31
- add_options_page( 'Better Click To Tweet Options', 'Better Click To Tweet', 'manage_options', 'better-click-to-tweet', 'bctt_settings_page' );
32
}
33
34
function bctt_register_settings() {
@@ -48,53 +49,173 @@ function bctt_validate_checkbox( $input ) {
48
}
49
}
50
51
function bctt_settings_page() {
52
if ( ! current_user_can( 'manage_options' ) ) {
53
wp_die( __( 'You do not have sufficient permissions to access this page.', 'better-click-to-tweet' ) );
54
- } ?>
55
56
<div class="wrap">
57
58
- <h2><?php /* translators: Treat "Better Click To Tweet" as a brand name, don't translate it */
59
- _e( 'Better Click To Tweet — a plugin by Ben Meredith', 'better-click-to-tweet' ); ?></h2>
60
61
- <hr/>
62
- <?php do_action( 'bctt_settings_top' ); ?>
63
- <div id="bctt_admin" class="metabox-holder has-right-sidebar">
64
- <div class="inner-sidebar">
65
- <div id="normal-sortables" class="meta-box-sortables ui-sortable">
66
- <div class="postbox">
67
- <div class="inside">
68
- <h3 class="hndle ui-sortable-handle"><?php _e( 'About the Author', 'better-click-to-tweet' ); ?> </h3>
69
-
70
- <div id="bctt_signup">
71
- <form
72
- action="//benandjacq.us1.list-manage.com/subscribe/post?u=8f88921110b81f81744101f4d&amp;id=bd909b5f89"
73
- method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form"
74
- class="validate" target="_blank" novalidate>
75
- <div id="mc_embed_signup_scroll">
76
- <p> <?php echo sprintf( __( 'This plugin is developed by <a href="%s">Ben Meredith</a>. I am a freelance developer specializing in <a href="%s">outrunning and outsmarting hackers</a>.', 'better-click-to-tweet' ), esc_url( 'https://www.wpsteward.com' ), esc_url( 'https://www.wpsteward.com/service-plans' ) ); ?></p>
77
- <h4><?php _e( 'Sign up to receive my FREE web strategy guide', 'better-click-to-tweet' ); ?></h4>
78
-
79
- <p><input type="email" value="" name="EMAIL" class="widefat" id="mce-EMAIL"
80
- placeholder="<?php _ex( 'Your Email Address', 'placeholder text for input field', 'better-click-to-tweet' ); ?>">
81
- <small><?php _e( 'No Spam. One-click unsubscribe in every message', 'better-click-to-tweet' ); ?></small>
82
- </p>
83
- <div style="position: absolute; left: -5000px;"><input type="text"
84
- name="b_8f88921110b81f81744101f4d_bd909b5f89"
85
- tabindex="-1" value="">
86
- </div>
87
- <p class="clear"><input type="submit" value="Subscribe" name="subscribe"
88
- id="mc-embedded-subscribe" class="button-secondary"></p>
89
90
</div>
91
- </form>
92
- </div>
93
</div>
94
</div>
95
</div>
96
- <div class="meta-box-sortables">
97
- <div class="postbox">
98
<div class="inside">
99
<p><?php $url2 = 'https://github.com/Benunc/better-click-to-tweet';
100
$link2 = sprintf( __( 'Are you a developer? I would love your help making this plugin better. Check out the <a href=%s>plugin on Github.</a>', 'better-click-to-tweet' ), esc_url( $url2 ) );
@@ -114,75 +235,18 @@ function bctt_settings_page() {
114
target="_blank"><?php _e( 'Click here to buy me a Coke to say thanks.', 'better-click-to-tweet' ); ?></a>
115
</p>
116
</div>
117
</div>
118
</div>
119
</div>
120
- <div id="post-body" class="has-sidebar">
121
- <div id="post-body-content" class="has-sidebar-content">
122
- <div id="normal-sortables" class="meta-box-sortables">
123
- <div class="postbox">
124
- <div class="inside">
125
- <h2 class="hndle"><?php _e( 'Instructions', 'better-click-to-tweet' ); ?></h2>
126
-
127
- <p><?php /* translators: Treat "Better Click To Tweet" as a brand name, don't translate it */
128
- _e( 'To add styled click-to-tweet quote boxes include the Better Click To Tweet shortcode in your post.', 'better-click-to-tweet' ); ?></p>
129
-
130
- <p><?php _e( 'Here\'s how you format the shortcode:', 'better-click-to-tweet' ); ?></p>
131
- <pre>[bctt tweet="<?php /* translators: This text shows up as a sample tweet in the instructions for how to use the plugin. */
132
- _e( 'Meaningful, tweetable quote.', 'better-click-to-tweet' ); ?>"]</pre>
133
- <p><?php /* translators: Also, treat "BCTT" as a brand name, don't translate it */
134
- _e( 'If you are using the visual editor, click the BCTT birdie in the toolbar to add a pre-formatted shortcode to your post.', 'better-click-to-tweet' ); ?></p>
135
-
136
- <p><?php _e( 'Tweet length is automatically shortened to 117 characters minus the length of your twitter name, to leave room for it and a link back to the post.', 'better-click-to-tweet' ); ?></p>
137
- </div>
138
- </div>
139
- <div class="postbox">
140
- <div class="inside">
141
- <h2 class="hndle"><?php _e( 'Settings', 'better-click-to-tweet' ); ?></h2>
142
-
143
- <p><?php _e( 'Enter your Twitter handle to add "via @yourhandle" to your tweets. Do not include the @ symbol.', 'better-click-to-tweet' ); ?></p>
144
-
145
- <p><?php _e( 'Checking the box below will force the plugin to show the WordPress shortlink in place of the full URL. While this does not impact tweet character length, it is useful alongside plugins which customize the WordPress shortlink using services like bit.ly or yourls.org for tracking', 'better-click-to-tweet' ) ?> </p>
146
-
147
- <form method="post" action="options.php" style="display: inline-block;">
148
- <?php settings_fields( 'bctt_clicktotweet-options' ); ?>
149
-
150
- <table class="form-table">
151
- <tr valign="top">
152
- <th style="width: 200px;">
153
- <label><?php _ex( 'Your Twitter Handle', 'label for text input on settings screen', 'better-click-to-tweet' ); ?></label>
154
- </th>
155
- <td><input type="text" name="bctt-twitter-handle"
156
- value="<?php echo get_option( 'bctt-twitter-handle' ); ?>"/></td>
157
- </tr>
158
- <tr valign="top">
159
- <th style="width: 200px;">
160
- <label><?php _ex( 'Use Short URL?', 'label for checkbox on settings screen', 'better-click-to-tweet' ); ?></label>
161
- </th>
162
- <td><input type="checkbox" name="bctt-short-url"
163
- value="1" <?php if ( 1 == get_option( 'bctt-short-url' ) ) {
164
- echo 'checked="checked"';
165
- } ?>" />
166
- </td>
167
- </tr>
168
- </table>
169
- <br class="clear"/>
170
-
171
- <p><input type="submit" class="button-primary"
172
- value="<?php _e( 'Save Changes', 'better-click-to-tweet' ); ?>"/></p>
173
- <br class="clear"/>
174
- <em><?php $url = 'https://www.wpsteward.com';
175
- $link = sprintf( __( 'An open source plugin by <a href=%s>Ben Meredith</a>', 'better-click-to-tweet' ), esc_url( $url ) );
176
- echo $link; ?></em>
177
- </form>
178
- </div>
179
- </div>
180
-
181
- </div>
182
- </div>
183
- </div>
184
</div>
185
</div>
186
<?php
187
}
188
10
11
// instantiate i18n encouragement module
12
$bctt_i18n = new yoast_i18n(
13
+ array(
14
+ 'textdomain' => 'better-click-to-tweet',
15
+ 'project_slug' => '/wp-plugins/better-click-to-tweet/stable',
16
+ 'plugin_name' => 'Better Click To Tweet',
17
+ 'hook' => 'bctt_settings_top',
18
+ 'glotpress_url' => 'https://translate.wordpress.org/',
19
+ 'glotpress_name' => 'Translating WordPress',
20
+ 'glotpress_logo' => 'https://plugins.svn.wordpress.org/better-click-to-tweet/assets/icon-256x256.png',
21
+ 'register_url ' => 'https://translate.wordpress.org/projects/wp-plugins/better-click-to-tweet/',
22
+ )
23
);
24
25
// Add Settings Link
28
29
function bctt_admin_menu() {
30
add_action( 'admin_init', 'bctt_register_settings', 100, 1 );
31
+ add_menu_page( 'Better Click To Tweet Options', 'Better Click To Tweet', 'manage_options', 'better-click-to-tweet', null, 'dashicons-twitter' );
32
+ add_submenu_page('better-click-to-tweet', 'Better Click To Tweet Main Settings', 'Settings', 'manage_options', 'better-click-to-tweet', 'bctt_settings_page' );
33
}
34
35
function bctt_register_settings() {
49
}
50
}
51
52
+ function bctt_add_custom_style_option() {
53
+ $bctt_dequeued_with_custom_funtion = get_option( 'bctt_style_dequeued' );
54
+
55
+ $bctt_custom_style = get_option( 'bcct_custom_style_enqueued' );
56
+
57
+ if ( $bctt_dequeued_with_custom_funtion || $bctt_custom_style ) {
58
+ return true;
59
+ } else {
60
+ return false;
61
+ }
62
+
63
+ }
64
+
65
+ function bctt_admin_styles() {
66
+ wp_register_style( 'bctt_admin_style', plugins_url( 'assets/css/bctt-admin.css', __FILE__ ) );
67
+ wp_enqueue_style( 'bctt_admin_style' );
68
+ }
69
+
70
function bctt_settings_page() {
71
if ( ! current_user_can( 'manage_options' ) ) {
72
wp_die( __( 'You do not have sufficient permissions to access this page.', 'better-click-to-tweet' ) );
73
+ }
74
+
75
+ bctt_admin_styles();
76
+ ?>
77
78
<div class="wrap">
79
80
+ <h1 class="wp-heading-inline"><?php /* translators: Treat "Better Click To Tweet" as a brand name, don't translate it */
81
+ _e( 'Better Click To Tweet — a plugin by Ben Meredith', 'better-click-to-tweet' ); ?></h1>
82
83
+ <hr/>
84
+ <?php do_action( 'bctt_settings_top' ); ?>
85
+
86
+
87
+ <div id="poststuff">
88
+ <div id="post-body" class="metabox-holder columns-2 ">
89
+ <div id="post-body-content" style="position: relative;">
90
+ <div id="bctt_instructions" class="postbox ">
91
+ <h2><?php _e( 'Instructions', 'better-click-to-tweet' ); ?></h2>
92
+ <div class="inside">
93
+
94
+ <p><?php /* translators: Treat "Better Click To Tweet" as a brand name, don't translate it */
95
+ _e( 'To add styled click-to-tweet quote boxes include the Better Click To Tweet shortcode in your post.', 'better-click-to-tweet' ); ?></p>
96
+
97
+ <p><?php _e( 'Here\'s how you format the shortcode:', 'better-click-to-tweet' ); ?></p>
98
+ <pre>[bctt tweet="<?php /* translators: This text shows up as a sample tweet in the instructions for how to use the plugin. */
99
+ _e( 'Meaningful, tweetable quote.', 'better-click-to-tweet' ); ?>"]</pre>
100
+ <p><?php /* translators: Also, treat "BCTT" as a brand name, don't translate it */
101
+ _e( 'If you are using the visual editor, click the BCTT birdie in the toolbar to add a pre-formatted shortcode to your post.', 'better-click-to-tweet' ); ?></p>
102
+
103
+ <p><?php _e( 'Tweet length is automatically shortened to 117 characters minus the length of your twitter name, to leave room for it and a link back to the post.', 'better-click-to-tweet' ); ?></p>
104
+ </div>
105
+ <!--/inside-->
106
+ </div>
107
+ <!--/bctt_instructions-->
108
+ <?php do_action( 'bctt_instructions_bottom' ); ?>
109
+ <div class="postbox">
110
+ <h2><?php _e( 'Settings', 'better-click-to-tweet' ); ?></h2>
111
+ <div class="inside">
112
+ <div class="main">
113
+ <p><?php _e( 'Enter your Twitter handle to add "via @yourhandle" to your tweets. Do not include the @ symbol.', 'better-click-to-tweet' ); ?></p>
114
+
115
+ <p><?php _e( 'Checking the box below will force the plugin to show the WordPress shortlink in place of the full URL. While this does not impact tweet character length, it is useful alongside plugins which customize the WordPress shortlink using services like bit.ly or yourls.org for tracking', 'better-click-to-tweet' ) ?> </p>
116
+
117
+ <form method="post" action="options.php" style="">
118
+ <?php settings_fields( 'bctt_clicktotweet-options' ); ?>
119
+
120
+ <table class="form-table">
121
+ <tr valign="top">
122
+ <th style="width: 200px;">
123
+ <label><?php _ex( 'Your Twitter Handle', 'label for text input on settings screen', 'better-click-to-tweet' ); ?></label>
124
+ </th>
125
+ <td><input type="text" name="bctt-twitter-handle"
126
+ value="<?php echo get_option( 'bctt-twitter-handle' ); ?>"/>
127
+ </td>
128
+ <tr valign="top">
129
+ <th style="width: 200px;">
130
+ <label><?php _ex( 'Use Short URL?', 'label for checkbox on settings screen', 'better-click-to-tweet' ); ?></label>
131
+ </th>
132
+ <td><input type="checkbox" name="bctt-short-url"
133
+ value="1" <?php if ( 1 == get_option( 'bctt-short-url' ) ) {
134
+ echo 'checked="checked"';
135
+ } ?>" />
136
+ </td>
137
+ </tr>
138
+
139
+ <?php if ( ! bctt_add_custom_style_option() ) { ?>
140
+ <tr valign="top">
141
+ <th style="width:200px;">
142
+ <label><?php _ex( 'Use Premium Styles?', 'label for checkbox on settings screen', 'better-click-to-tweet' ); ?></label>
143
+ </th>
144
+ <td><input type="checkbox" name="bctt-custom-style"
145
+ value="1" <?php if ( is_plugin_active( 'better-click-to-tweet-styles/better-click-to-tweet-premium-styles.php' ) ) {
146
+ echo 'checked="checked"';
147
+ } else {
148
+ echo 'disabled="disabled"';
149
+ } ?>" /> <span
150
+ style="font-size: .85em;"><em> <?php if ( ! is_plugin_active( 'better-click-to-tweet-styles/better-click-to-tweet-premium-styles.php' ) ) {
151
+ echo sprintf( __( 'Want Premium styles? Add the <a href=%s>Premium Styles add-on</a> today!', 'better-click-to-tweet' ), esc_url( 'http://benlikes.us/bcttpsdirect' ) );
152
+ } ?></em></span>
153
+
154
+ </td>
155
+ </tr>
156
+ <?php } ?>
157
+ </table>
158
+ <?php do_action( 'bctt_before_settings_submit' ); ?>
159
+ <br class="clear"/>
160
+
161
+ <p><input type="submit" class="button-primary"
162
+ value="<?php _e( 'Save Changes', 'better-click-to-tweet' ); ?>"/>
163
+ </p>
164
+ <br class="clear"/>
165
+ <em><?php $url = 'https://www.wpsteward.com';
166
+ $link = sprintf( __( 'An open source plugin by <a href=%s>Ben Meredith</a>', 'better-click-to-tweet' ), esc_url( $url ) );
167
+ echo $link; ?></em>
168
+ </form>
169
170
+ </div>
171
+ <!--/main-->
172
+ </div>
173
+ <!--/inside-->
174
+ </div>
175
+ <!--/postbox-->
176
+ </div>
177
+ <!--/post-body-content-->
178
+ <?php do_action( 'bctt_after_settings' ); ?>
179
+
180
+ <div id="post-box-container-1" class="post-box-container">
181
+ <div id="side-sortables" class="meta-box-sortables ui-sortable">
182
+
183
+ <div id="bctt-author" class="postbox " style="display:block;">
184
+ <h2><?php _e( 'About the Author', 'better-click-to-tweet' ); ?> </h2>
185
+
186
+ <div id="bctt_signup" class="inside">
187
+ <form
188
+ action="//benandjacq.us1.list-manage.com/subscribe/post?u=8f88921110b81f81744101f4d&amp;id=bd909b5f89"
189
+ method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form"
190
+ class="validate" target="_blank" novalidate>
191
+ <div id="mc_embed_signup_scroll">
192
+ <p> <?php echo sprintf( __( 'This plugin is developed by <a href="%s">Ben Meredith</a>. I am a freelance developer specializing in <a href="%s">outrunning and outsmarting hackers</a>.', 'better-click-to-tweet' ), esc_url( 'https://www.wpsteward.com' ), esc_url( 'https://www.wpsteward.com/service-plans' ) ); ?></p>
193
+ <h4><?php _e( 'Sign up to receive my FREE web strategy guide', 'better-click-to-tweet' ); ?></h4>
194
+
195
+ <p><input type="email" value="" name="EMAIL" class="widefat" id="mce-EMAIL"
196
+ placeholder="<?php _ex( 'Your Email Address', 'placeholder text for input field', 'better-click-to-tweet' ); ?>">
197
+ <small><?php _e( 'No Spam. One-click unsubscribe in every message', 'better-click-to-tweet' ); ?></small>
198
+ </p>
199
+ <div style="position: absolute; left: -5000px;"><input type="text"
200
+ name="b_8f88921110b81f81744101f4d_bd909b5f89"
201
+ tabindex="-1" value="">
202
</div>
203
+ <p class="clear"><input type="submit" value="Subscribe" name="subscribe"
204
+ id="mc-embedded-subscribe" class="button-secondary"></p>
205
+
206
+ </div>
207
+ <!--/mc_embed_signup_scroll-->
208
+ </form>
209
</div>
210
+ <!--/bctt_signup-->
211
+ <?php do_action( 'bctt_author_box_bottom' ); ?>
212
</div>
213
+ <!--/bctt-author-->
214
</div>
215
+ <!--/side-sortables-->
216
+
217
+ <div id="side-sortables" class="meta-box-sortables ui-sortable">
218
+ <div id="bctt-contrib" class="postbox">
219
<div class="inside">
220
<p><?php $url2 = 'https://github.com/Benunc/better-click-to-tweet';
221
$link2 = sprintf( __( 'Are you a developer? I would love your help making this plugin better. Check out the <a href=%s>plugin on Github.</a>', 'better-click-to-tweet' ), esc_url( $url2 ) );
235
target="_blank"><?php _e( 'Click here to buy me a Coke to say thanks.', 'better-click-to-tweet' ); ?></a>
236
</p>
237
</div>
238
+ <!--/inside-->
239
</div>
240
+ <!--/donate-contrib-->
241
+ <?php do_action( 'bctt_contrib_bottom' ); ?>
242
</div>
243
+ <!--side-sortables-->
244
</div>
245
+ <!--/post-box-container-1-->
246
</div>
247
+ <!--/post-body-->
248
</div>
249
+ <!--/wrap-->
250
<?php
251
}
252
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: 4.10
6
Author: Ben Meredith
7
Author URI: https://www.wpsteward.com
8
Plugin URI: https://wordpress.org/plugins/better-click-to-tweet/
@@ -89,17 +89,17 @@ function bctt_shortcode( $atts ) {
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' ) {
96
-
97
$handle = $atts['username'];
98
-
99
} else {
100
-
101
$handle = get_option( 'bctt-twitter-handle' );
102
-
103
}
104
105
if ( function_exists( 'mb_internal_encoding' ) ) {
@@ -121,7 +121,7 @@ function bctt_shortcode( $atts ) {
121
$handle_code = '';
122
123
}
124
-
125
if ( $atts['via'] != 'yes' ) {
126
127
$handle_code = '';
@@ -173,13 +173,13 @@ function bctt_shortcode( $atts ) {
173
174
}
175
176
- $bctt_span_class = apply_filters( 'bctt_span_class', 'bctt-click-to-tweet' );
177
- $bctt_text_span_class = apply_filters( 'bctt_text_span_class', 'bctt-ctt-text');
178
- $bctt_button_span_class = apply_filters('bctt_button_span_class', 'bctt-ctt-btn');
179
180
if ( ! is_feed() ) {
181
182
- return "<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>";
183
} else {
184
185
return "<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 />";
@@ -202,29 +202,41 @@ add_shortcode( 'bctt', 'bctt_shortcode' );
202
203
function bctt_scripts() {
204
205
$dir = wp_upload_dir();
206
207
$custom = file_exists( $dir['basedir'] . '/bcttstyle.css' );
208
209
- if ( $custom != 'true' ) {
210
-
211
- wp_register_style( 'bcct_style', plugins_url( 'assets/css/styles.css', __FILE__ ), false, '3.0', 'all' );
212
213
- wp_enqueue_style( 'bcct_style' );
214
215
- } else {
216
217
- wp_register_style( 'bcct_custom_style', $dir['baseurl'] . '/bcttstyle.css', false, '1.0', 'all' );
218
219
- wp_enqueue_style( 'bcct_custom_style' );
220
- }
221
222
223
}
224
225
- ;
226
227
- add_action( 'wp_enqueue_scripts', apply_filters( 'bctt_script_change', 'bctt_scripts' ) );
228
229
/*
230
* Delete options and shortcode on uninstall
@@ -238,6 +250,10 @@ function bctt_on_uninstall() {
238
239
delete_option( 'bctt-short-url' );
240
241
remove_shortcode( 'bctt' );
242
243
}
@@ -250,7 +266,7 @@ function bctt_options_link( $links ) {
250
251
$settingsText = sprintf( _x( 'Settings', 'text for the link on the plugins page', 'better-click-to-tweet' ) );
252
253
- $settings_link = '<a href="options-general.php?page=better-click-to-tweet">' . $settingsText . '</a>';
254
255
array_unshift( $links, $settings_link );
256
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.0
6
Author: Ben Meredith
7
Author URI: https://www.wpsteward.com
8
Plugin URI: https://wordpress.org/plugins/better-click-to-tweet/
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' ) {
96
+
97
$handle = $atts['username'];
98
+
99
} else {
100
+
101
$handle = get_option( 'bctt-twitter-handle' );
102
+
103
}
104
105
if ( function_exists( 'mb_internal_encoding' ) ) {
121
$handle_code = '';
122
123
}
124
+
125
if ( $atts['via'] != 'yes' ) {
126
127
$handle_code = '';
173
174
}
175
176
+ $bctt_span_class = apply_filters( 'bctt_span_class', 'bctt-click-to-tweet' );
177
+ $bctt_text_span_class = apply_filters( 'bctt_text_span_class', 'bctt-ctt-text' );
178
+ $bctt_button_span_class = apply_filters( 'bctt_button_span_class', 'bctt-ctt-btn' );
179
180
if ( ! is_feed() ) {
181
182
+ return "<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>";
183
} else {
184
185
return "<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 />";
202
203
function bctt_scripts() {
204
205
+ if ( get_option( 'bctt_disable_css' ) ) {
206
+ add_option( 'bctt_style_dequeued', true );
207
+ foreach ( wp_load_alloptions() as $option => $value ) {
208
+ if ( strpos( $option, 'bcct_' ) === 0 ) {
209
+ delete_option( $option );
210
+ }
211
+ }
212
+
213
+ return;
214
+ }
215
+
216
$dir = wp_upload_dir();
217
218
$custom = file_exists( $dir['basedir'] . '/bcttstyle.css' );
219
220
+ $tag = $custom ? 'bcct_custom_style' : 'bcct_style';
221
+ $antitag = $custom ? 'bcct_style' : 'bcct_custom_style';
222
+ $location = $custom ? $dir['baseurl'] . '/bcttstyle.css' : plugins_url( 'assets/css/styles.css', __FILE__ );
223
224
+ $version = $custom ? '1.0' : '3.0';
225
226
+ wp_register_style( $tag, $location, false, $version, 'all' );
227
228
+ wp_enqueue_style( $tag );
229
230
+ delete_option( 'bctt_style_dequeued' );
231
+ add_option( $tag . '_enqueued', true );
232
+ delete_option( $antitag . '_enqueued' );
233
234
235
}
236
237
238
+ add_action( 'wp_enqueue_scripts', 'bctt_scripts', 10 );
239
+
240
241
/*
242
* Delete options and shortcode on uninstall
250
251
delete_option( 'bctt-short-url' );
252
253
+ delete_option( 'bctt_disable_css' );
254
+
255
+ delete_option( 'bctt_style_enqueued' );
256
+
257
remove_shortcode( 'bctt' );
258
259
}
266
267
$settingsText = sprintf( _x( 'Settings', 'text for the link on the plugins page', 'better-click-to-tweet' ) );
268
269
+ $settings_link = '<a href="admin.php?page=better-click-to-tweet">' . $settingsText . '</a>';
270
271
array_unshift( $links, $settings_link );
272
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: 4.10
8
License: GPLv2 or later
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
@@ -103,6 +103,14 @@ Donations: http://benlikes.us/donate
103
104
== Changelog ==
105
106
= 4.10 =
107
* enhancement — added a 'prompt' shortcode attribute, so not you can change the words "Click To Tweet" on a per-box basis. Thanks to @apearlman on the Wordpress.org support forums for the suggestion!
108
* fix — changed the way the shortcode attributes are called, because my IDE kept throwing strange errors because the code wasn't clean enough.
4
Tags: click to tweet, twitter, tweet,
5
Requires at least: 3.8
6
Tested up to: 4.7
7
+ Stable tag: 5.0
8
License: GPLv2 or later
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
103
104
== Changelog ==
105
106
+ = 5.0 =
107
+ * enhancement — settings page now looks good on mobile. Before it looked a bit like someone was actively hitting it with a bat.
108
+ * enhancement — added multiple action hooks to the settings page. This provides third party developers with the ability to add things to that page without hacking the core code.
109
+ * enhancement — made the function enqueuing the front end styles DRYer.
110
+ * change — the previous way (version 4.9) I had filtered the function enqueuing styles was throwing PHP warnings when I used it, so I introduced an options-based method for never enqueueing it in the first first place. Updated gist for that: http://benlikes.us/bcttgist2 This method will also pave the way for the most exciting update (for me) in the history of Better Click To Tweet:
111
+ * change — introduced the first premium add-on (Premium Styles), and made some changes to the settings page to facilitate that. The goal is threefold: (1) Don't introduce the option to folks who have already replaced the custom stylesheet using the power user guide http://benlikes.us/7r or by dequeueing the stylesheet using this gist http://benlikes.us/bcttgist1 (2) Introduce the option to purchase custom styles in a non-sleazy way. (3) Um, introduce the option to my tens of thousands of happy users to pay me for something.
112
+
113
+
114
= 4.10 =
115
* enhancement — added a 'prompt' shortcode attribute, so not you can change the words "Click To Tweet" on a per-box basis. Thanks to @apearlman on the Wordpress.org support forums for the suggestion!
116
* fix — changed the way the shortcode attributes are called, because my IDE kept throwing strange errors because the code wasn't clean enough.