Version Description
- Fix: "Preserve settings on uninstall" setting not working correctly
- Fix: Clear cache button would not clear all caches in some situations
Download this release
Release Info
Developer | smashballoon |
Plugin | Custom Twitter Feeds |
Version | 1.2.8 |
Comparing to | |
See all releases |
Code changes from version 1.2.7 to 1.2.8
- README.txt +55 -35
- css/ctf-admin-styles.css +15 -1
- css/ctf-styles.css +2 -2
- custom-twitter-feed.php +43 -22
- inc/CtfAdmin.php +1 -1
- inc/CtfFeed.php +15 -15
- inc/admin-hooks.php +223 -179
- inc/notices.php +1 -1
- js/ctf-admin-scripts.js +13 -5
- uninstall.php +2 -2
- views/admin/configure.php +1 -1
- views/admin/customize.php +1 -1
- views/admin/display.php +1 -1
- views/admin/main.php +2 -2
- views/admin/style.php +1 -1
- views/admin/support.php +3 -3
README.txt
CHANGED
@@ -5,27 +5,27 @@ Support Website: http://smashballoon/custom-twitter-feeds/
|
|
5 |
Tags: Twitter, Twitter feed, Tweets, Twitter widget, Custom Twitter Feed
|
6 |
Requires at least: 3.0
|
7 |
Tested up to: 4.9
|
8 |
-
Stable tag: 1.2.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
12 |
-
Custom Twitter Feeds allows you to display completely customizable Twitter feeds of
|
13 |
|
14 |
== Description ==
|
15 |
-
Display **completely customizable**, **responsive** and **search engine crawlable** versions of your Twitter feed on your website. Completely match the look and feel of
|
16 |
|
17 |
= Features =
|
18 |
* **Completely Customizable** - by default inherits your theme's styles
|
19 |
* Twitter feed content is **crawlable by search engines** adding SEO value to your site
|
20 |
* **Completely responsive and mobile optimized** - works on any screen size
|
21 |
* Display tweets from any user, your own Twitter account and those you follow, or from a specific hashtag
|
22 |
-
* Display multiple feeds from different Twitter users on multiple pages or widgets
|
23 |
-
* Post caching means that your Twitter feed loads lightning fast and minimizes Twitter API requests
|
24 |
* **Infinitely load more** of your Tweets with the 'Load More' button
|
25 |
* Built-in easy to use "Custom Twitter Feeds" Widget
|
26 |
* Fully internationalized and translatable into any language
|
27 |
* Display a beautiful header at the top of your Twitter feed
|
28 |
-
* Enter your own custom CSS for even deeper customization
|
29 |
|
30 |
For simple step-by-step directions on how to set up the Custom Twitter Feeds plugin please refer to our [setup guide](http://smashballoon.com/custom-twitter-feeds/free/ 'Custom Twitter Feeds setup guide').
|
31 |
|
@@ -43,7 +43,7 @@ For simple step-by-step directions on how to set up the Custom Twitter Feeds plu
|
|
43 |
[View the reviews](https://wordpress.org/support/plugin/custom-twitter-feeds/reviews/) to see what other users are saying about the Custom Twitter Feeds plugin.
|
44 |
|
45 |
= Feedback or Support =
|
46 |
-
We're dedicated to providing the most
|
47 |
|
48 |
If you like the plugin then please consider leaving a review, as it really helps to support the plugin. If you have an issue then please allow us to help you fix it before leaving a review. Just [let us know](https://smashballoon.com/custom-twitter-feeds/support/ 'Twitter Feed Support') what the problem is and we'll get back to you right away.
|
49 |
|
@@ -58,6 +58,12 @@ If you like the plugin then please consider leaving a review, as it really helps
|
|
58 |
|
59 |
*Thanks again, Craig!*" - [@kcwebguy](https://wordpress.org/support/topic/amazing-support-and-a-great-twitter-plugin/)
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
= Pro Version =
|
62 |
We recently released a [Pro version](http://smashballoon.com/custom-twitter-feeds/ 'Custom Twitter Feeds Pro') which includes some awesome additional features:
|
63 |
|
@@ -65,11 +71,14 @@ We recently released a [Pro version](http://smashballoon.com/custom-twitter-feed
|
|
65 |
* Display **photos**, **videos**, and **gifs** and view them in a **popup lightbox** directly on your site
|
66 |
* Multi-column **Masonry layout** [demo](http://smashballoon.com/custom-twitter-feeds/demo/masonry 'Custom Twitter Feeds Pro Masonry Demo')
|
67 |
* Allow **filtering** of user timelines include/exclude any/all keywords/hashtags
|
|
|
68 |
* Fully functional **search endpoint**
|
69 |
* Display Tweets you're mentioned in
|
70 |
* Tweet-specific **moderation system**
|
71 |
-
* **Twitter cards** displayed with links which support them
|
72 |
* Include **Tweet replies** (in reply to tweets)
|
|
|
|
|
73 |
|
74 |
Try the Pro version [demo here](http://smashballoon.com/custom-twitter-feeds/demo 'Custom Twitter Feeds Pro Demo')
|
75 |
|
@@ -86,7 +95,7 @@ For simple step-by-step directions on how to set up the Custom Twitter Feeds plu
|
|
86 |
|
87 |
The Custom Twitter Feeds plugin is brand new and so we're currently working on improving our documentation for it. If you have an issue or question please submit a support ticket and we'll get back to you as soon as we can.
|
88 |
|
89 |
-
1) Once you've installed the Custom Twitter Feeds plugin click on the Twitter
|
90 |
|
91 |
2) Click on the large blue Twitter login button to get your Twitter Access Token and Twitter Secret. Note; if you have your own Twitter Developer App set up then you can enter your Twitter information manually by enabling the checkbox below the Twitter login button.
|
92 |
|
@@ -156,44 +165,42 @@ The main differences between the free version and Pro version of the Custom Twit
|
|
156 |
|
157 |
You can see the demo of the Custom Twitter Feeds Pro version [here](https://smashballoon.com/custom-twitter-feeds/demo/), and a video screencast [here](https://smashballoon.com/custom-twitter-feeds/#watch-video).
|
158 |
|
159 |
-
|
160 |
-
|
161 |
-
= Twitter API Error Message Reference =
|
162 |
|
163 |
If you receive an error message when trying to display your Twitter Feed then you can use the error reference below to diagnose the issue and find the relevant solution.
|
164 |
|
165 |
-
**Error:**
|
166 |
Could not authenticate you
|
167 |
|
168 |
**Causes:**
|
169 |
- You may be using Twitter access tokens that are not valid - See #1 below
|
170 |
- You checked the box to enter your own Twitter app information, but one or more of the fields are incorrect - See #2 below
|
171 |
|
172 |
-
**Error:**
|
173 |
Invalid or expired token
|
174 |
|
175 |
**Causes:**
|
176 |
- You may not have entered your Twitter access tokens or they are not valid - See #1 below
|
177 |
|
178 |
-
**Error:**
|
179 |
Unable to load tweets (with no other explanation)
|
180 |
|
181 |
**Causes:**
|
182 |
- You may need to raise the number of tweets to retrieve and display in your Twitter feed - See #3 below
|
183 |
|
184 |
-
**Error:**
|
185 |
-
Sorry, that page does not exist
|
186 |
|
187 |
**Causes:**
|
188 |
- There may be a typo in the Twitter screen name or hashtag you are attempting to use
|
189 |
|
190 |
-
**Error:**
|
191 |
Over capacity
|
192 |
|
193 |
**Causes:**
|
194 |
-
- Twitter
|
195 |
|
196 |
-
**Error:**
|
197 |
Connection timed out after 10000 milliseconds
|
198 |
|
199 |
**Causes:**
|
@@ -203,7 +210,7 @@ Connection timed out after 10000 milliseconds
|
|
203 |
|
204 |
**#1 - Your Twitter access tokens might not be valid**
|
205 |
|
206 |
-
The easiest way to verify this is by going back to the Settings page for the Custom Twitter Feeds plugin and clicking the big blue button on the "Configure" tab to get new Twitter access tokens. If you haven't set up your own Twitter App, the only way to use the Custom Twitter Feeds plugin is to click the big blue button to get a Twitter access token and Twitter access token secret that is compatible with the default Twitter client used by Smash Balloon.
|
207 |
|
208 |
**#2 - You have checked the box to use your own Twitter app information but one or more of the fields are incorrect**
|
209 |
|
@@ -211,22 +218,35 @@ All four fields, consumer token, consumer secret, access token, and access token
|
|
211 |
|
212 |
**#3 - You may need to raise the number of tweets to retrieve**
|
213 |
|
214 |
-
Navigate to the type of Twitter feed you are trying to display on twitter.com. For example, if you are displaying a feed from the screenname "smashballoon", go to https://twitter.com/smashballoon. Make sure there are tweets visible. Then click on the link "Tweets & replies". If there are a more recent replies than original tweets, there may be too many tweets being filtered out to display any.
|
215 |
|
216 |
If you're still having trouble displaying your Tweets after trying the common issues above then please [contact support](https://smashballoon.com/custom-twitter-feeds/support/) for assistance.
|
217 |
|
|
|
|
|
|
|
|
|
218 |
== Screenshots ==
|
219 |
|
220 |
-
1.
|
221 |
-
2.
|
|
|
|
|
|
|
|
|
|
|
222 |
|
223 |
== Changelog ==
|
|
|
|
|
|
|
|
|
224 |
= 1.2.7 =
|
225 |
* New: Added screen reader labels for improved accessibility
|
226 |
* Fix: Bug with "persistent" cache duplicating tweets
|
227 |
|
228 |
= 1.2.6 =
|
229 |
-
* Fix:
|
230 |
* Fix: Added a workaround for a minor formatting issue caused by some themes
|
231 |
|
232 |
= 1.2.5 =
|
@@ -236,13 +256,13 @@ If you're still having trouble displaying your Tweets after trying the common is
|
|
236 |
|
237 |
= 1.2.4 =
|
238 |
* Fix: Custom date format not working in settings area
|
239 |
-
* Fix:
|
240 |
* Fix: Changed http: links to https:
|
241 |
-
* Fix: Fixed retweets always being included in persistent caches during the initial tweet retrieval
|
242 |
|
243 |
= 1.2.3 =
|
244 |
* Fix: Fix php warning when no media in tweets under certain circumstances
|
245 |
-
* Fix: Missing "alt" attributes for avatars
|
246 |
|
247 |
= 1.2.2 =
|
248 |
* Fix: Fixed an issue with include/exclude string to array conversion warning
|
@@ -252,16 +272,16 @@ If you're still having trouble displaying your Tweets after trying the common is
|
|
252 |
* Fix: Fixed an issue where a small line was added to quoted tweets in retweets that have no media
|
253 |
|
254 |
= 1.2 =
|
255 |
-
* New: The plugin now uses persistent tweet caching for hashtag feeds. By default, when displaying hashtag feed Twitter only returns Tweets from the last 7 days, but the persistent cache now allows you to display these Tweets indefinitely.
|
256 |
* New: Tweets with media will have an icon and label that links to the tweet on twitter.com
|
257 |
-
* Fix: Fixed an issue with checkbox settings being changed unintentionally after obtaining a new access token
|
258 |
|
259 |
= 1.1.8 =
|
260 |
-
* Tweak: Updated plugin links for new WordPress.org repo
|
261 |
* Fix: Minor bug fixes
|
262 |
|
263 |
= 1.1.7 =
|
264 |
-
* Fix: Fixed an issue with the Twitter Access Token and Secrets not automatically being saved when initially obtaining them
|
265 |
* Fix: Fixed an issue with some customization settings not saving occasionally
|
266 |
|
267 |
= 1.1.6 =
|
@@ -270,7 +290,7 @@ If you're still having trouble displaying your Tweets after trying the common is
|
|
270 |
|
271 |
= 1.1.5 =
|
272 |
* Fix: Fixed a rare issue when loading more Tweets
|
273 |
-
* Fix: When there is no bio text in the header then the screenname text is now automatically centered vertically
|
274 |
|
275 |
= 1.1.4 =
|
276 |
* Fix: Fixed an issue with some setting checkboxes
|
@@ -278,7 +298,7 @@ If you're still having trouble displaying your Tweets after trying the common is
|
|
278 |
* Tested with the upcoming WordPress 4.6 update
|
279 |
|
280 |
= 1.1.3 =
|
281 |
-
* Fix: Prevented any duplicate Tweets from being shown
|
282 |
* Fix: Fixed a rare issue where a couple of settings weren't being saved successfully
|
283 |
|
284 |
= 1.1.2 =
|
@@ -286,7 +306,7 @@ If you're still having trouble displaying your Tweets after trying the common is
|
|
286 |
* Fix: Minor bug fixes
|
287 |
|
288 |
= 1.1.1 =
|
289 |
-
* Fix: Added SSL support for avatar images so https version is used
|
290 |
* Fix: Fixed an issue with the "hours" custom text string displaying the "minutes" text instead
|
291 |
|
292 |
= 1.1 =
|
5 |
Tags: Twitter, Twitter feed, Tweets, Twitter widget, Custom Twitter Feed
|
6 |
Requires at least: 3.0
|
7 |
Tested up to: 4.9
|
8 |
+
Stable tag: 1.2.8
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
12 |
+
Custom Twitter Feeds allows you to display completely customizable Twitter feeds of a user timeline, home timeline, or hashtag on your website.
|
13 |
|
14 |
== Description ==
|
15 |
+
Display **completely customizable**, **responsive** and **search engine crawlable** versions of your Twitter feed on your website. Completely match the look and feel of your site with tons of customization options!
|
16 |
|
17 |
= Features =
|
18 |
* **Completely Customizable** - by default inherits your theme's styles
|
19 |
* Twitter feed content is **crawlable by search engines** adding SEO value to your site
|
20 |
* **Completely responsive and mobile optimized** - works on any screen size
|
21 |
* Display tweets from any user, your own Twitter account and those you follow, or from a specific hashtag
|
22 |
+
* Display **multiple feeds** from different Twitter users on multiple pages or widgets
|
23 |
+
* Post caching means that your Twitter feed loads **lightning fast** and minimizes Twitter API requests
|
24 |
* **Infinitely load more** of your Tweets with the 'Load More' button
|
25 |
* Built-in easy to use "Custom Twitter Feeds" Widget
|
26 |
* Fully internationalized and translatable into any language
|
27 |
* Display a beautiful header at the top of your Twitter feed
|
28 |
+
* Enter your own custom CSS or JavaScript for even deeper customization
|
29 |
|
30 |
For simple step-by-step directions on how to set up the Custom Twitter Feeds plugin please refer to our [setup guide](http://smashballoon.com/custom-twitter-feeds/free/ 'Custom Twitter Feeds setup guide').
|
31 |
|
43 |
[View the reviews](https://wordpress.org/support/plugin/custom-twitter-feeds/reviews/) to see what other users are saying about the Custom Twitter Feeds plugin.
|
44 |
|
45 |
= Feedback or Support =
|
46 |
+
We're dedicated to providing the most robust and well supported Twitter feed plugin in the world, so if you have an issue or any feedback on how to improve the plugin then please [let us know](https://smashballoon.com/custom-twitter-feeds/support/ 'Twitter Feed Support').
|
47 |
|
48 |
If you like the plugin then please consider leaving a review, as it really helps to support the plugin. If you have an issue then please allow us to help you fix it before leaving a review. Just [let us know](https://smashballoon.com/custom-twitter-feeds/support/ 'Twitter Feed Support') what the problem is and we'll get back to you right away.
|
49 |
|
58 |
|
59 |
*Thanks again, Craig!*" - [@kcwebguy](https://wordpress.org/support/topic/amazing-support-and-a-great-twitter-plugin/)
|
60 |
|
61 |
+
"***At last a configurable Feed that WORKS!** - I have messed with Twitter feeds on sites so many times only to be frustrated. This Plugin is the best I have tried. Stable, configurable and not too hefty a drag on performance. Well done!* - [@mikemac67](https://wordpress.org/support/topic/at-last-a-configurable-feed-that-works/)
|
62 |
+
|
63 |
+
"***Everything you'll need in a Twitter feed plugin** - We've tried a few Twitter feed plugins across a bunch of our sites, and this one is now our go-to favorite. Most of the others we've tried have either styling or performance issues, but we've been using this plugin for a few months now, and it's been perfect. There are tons of customization options, the feed looks great, and... it works!*
|
64 |
+
|
65 |
+
*Kudos to the SmashBalloon team on a well supported, tightly developed, feature-packed WordPress Plugin.* - [@laymanlab](https://wordpress.org/support/topic/everything-youll-need-in-a-twitter-feed-plugin/)
|
66 |
+
|
67 |
= Pro Version =
|
68 |
We recently released a [Pro version](http://smashballoon.com/custom-twitter-feeds/ 'Custom Twitter Feeds Pro') which includes some awesome additional features:
|
69 |
|
71 |
* Display **photos**, **videos**, and **gifs** and view them in a **popup lightbox** directly on your site
|
72 |
* Multi-column **Masonry layout** [demo](http://smashballoon.com/custom-twitter-feeds/demo/masonry 'Custom Twitter Feeds Pro Masonry Demo')
|
73 |
* Allow **filtering** of user timelines include/exclude any/all keywords/hashtags
|
74 |
+
* Customizable **Carousels** and **Slideshows**
|
75 |
* Fully functional **search endpoint**
|
76 |
* Display Tweets you're mentioned in
|
77 |
* Tweet-specific **moderation system**
|
78 |
+
* Visual **Twitter cards** displayed with links which support them
|
79 |
* Include **Tweet replies** (in reply to tweets)
|
80 |
+
* **Combine multiple feeds** into one
|
81 |
+
* **Autoload more Tweets** when scrolling
|
82 |
|
83 |
Try the Pro version [demo here](http://smashballoon.com/custom-twitter-feeds/demo 'Custom Twitter Feeds Pro Demo')
|
84 |
|
95 |
|
96 |
The Custom Twitter Feeds plugin is brand new and so we're currently working on improving our documentation for it. If you have an issue or question please submit a support ticket and we'll get back to you as soon as we can.
|
97 |
|
98 |
+
1) Once you've installed the Custom Twitter Feeds plugin click on the "Twitter Feeds" item in your WordPress menu
|
99 |
|
100 |
2) Click on the large blue Twitter login button to get your Twitter Access Token and Twitter Secret. Note; if you have your own Twitter Developer App set up then you can enter your Twitter information manually by enabling the checkbox below the Twitter login button.
|
101 |
|
165 |
|
166 |
You can see the demo of the Custom Twitter Feeds Pro version [here](https://smashballoon.com/custom-twitter-feeds/demo/), and a video screencast [here](https://smashballoon.com/custom-twitter-feeds/#watch-video).
|
167 |
|
168 |
+
= I'm receiving an error message when trying to display my Twitter feed =
|
|
|
|
|
169 |
|
170 |
If you receive an error message when trying to display your Twitter Feed then you can use the error reference below to diagnose the issue and find the relevant solution.
|
171 |
|
172 |
+
**Twitter Error:**
|
173 |
Could not authenticate you
|
174 |
|
175 |
**Causes:**
|
176 |
- You may be using Twitter access tokens that are not valid - See #1 below
|
177 |
- You checked the box to enter your own Twitter app information, but one or more of the fields are incorrect - See #2 below
|
178 |
|
179 |
+
**Twitter Error:**
|
180 |
Invalid or expired token
|
181 |
|
182 |
**Causes:**
|
183 |
- You may not have entered your Twitter access tokens or they are not valid - See #1 below
|
184 |
|
185 |
+
**Twitter Error:**
|
186 |
Unable to load tweets (with no other explanation)
|
187 |
|
188 |
**Causes:**
|
189 |
- You may need to raise the number of tweets to retrieve and display in your Twitter feed - See #3 below
|
190 |
|
191 |
+
**Twitter Error:**
|
192 |
+
Sorry, that Twitter page does not exist
|
193 |
|
194 |
**Causes:**
|
195 |
- There may be a typo in the Twitter screen name or hashtag you are attempting to use
|
196 |
|
197 |
+
**Twitter Error:**
|
198 |
Over capacity
|
199 |
|
200 |
**Causes:**
|
201 |
+
- Twitter's servers are over capacity so the API is unusable. This will correct itself after some time.
|
202 |
|
203 |
+
**Twitter Error:**
|
204 |
Connection timed out after 10000 milliseconds
|
205 |
|
206 |
**Causes:**
|
210 |
|
211 |
**#1 - Your Twitter access tokens might not be valid**
|
212 |
|
213 |
+
The easiest way to verify this is by going back to the Settings page for the Custom Twitter Feeds plugin and clicking the big blue Twitter login button on the "Configure" tab to get new Twitter access tokens. If you haven't set up your own Twitter App, the only way to use the Custom Twitter Feeds plugin is to click the big blue button to get a Twitter access token and Twitter access token secret that is compatible with the default Twitter client used by Smash Balloon.
|
214 |
|
215 |
**#2 - You have checked the box to use your own Twitter app information but one or more of the fields are incorrect**
|
216 |
|
218 |
|
219 |
**#3 - You may need to raise the number of tweets to retrieve**
|
220 |
|
221 |
+
Navigate to the type of Twitter feed you are trying to display on twitter.com. For example, if you are displaying a Twitter feed from the screenname "smashballoon", go to https://twitter.com/smashballoon. Make sure there are tweets visible. Then click on the link "Tweets & replies". If there are a more recent replies than original tweets, there may be too many tweets being filtered out to display any. Twitter replies are removed by default. You can raise the number of tweets to retrieve initially by going to the Custom Twitter Feed Settings page, "Customize" tab, and navigating to the "Advanced" area. Then raise the "Tweet Multiplier" and test to see if your Twitter feed now displays tweets.
|
222 |
|
223 |
If you're still having trouble displaying your Tweets after trying the common issues above then please [contact support](https://smashballoon.com/custom-twitter-feeds/support/) for assistance.
|
224 |
|
225 |
+
= Why do you guys love providing support so much? =
|
226 |
+
|
227 |
+
Not many developers love providing support, but we're a rare breed here at Smash Balloon. We take pride in the fact that you've chosen to use our plugin and want to help you with any issues you might have using it. It brings us joy to see our plugins out there in the wild making a difference on people's websites and we love interacting with any and all of our users! If you have a question or issue just let us know, we'll get back to you in no time to help!
|
228 |
+
|
229 |
== Screenshots ==
|
230 |
|
231 |
+
1. By default the plugin inherits styles from your theme
|
232 |
+
2. Display multiple Twitter feeds and customize each one
|
233 |
+
3. Custom Twitter Feeds Settings pages
|
234 |
+
4. Built in customization settings make customizing your feed easy
|
235 |
+
5. Additional styling options are built into the plugin
|
236 |
+
6. Use handy shortcode options to customize individual feeds
|
237 |
+
7. To display a feed just copy and paste the shortcode into a widget or page
|
238 |
|
239 |
== Changelog ==
|
240 |
+
= 1.2.8 =
|
241 |
+
* Fix: "Preserve settings on uninstall" setting not working correctly
|
242 |
+
* Fix: Clear cache button would not clear all caches in some situations
|
243 |
+
|
244 |
= 1.2.7 =
|
245 |
* New: Added screen reader labels for improved accessibility
|
246 |
* Fix: Bug with "persistent" cache duplicating tweets
|
247 |
|
248 |
= 1.2.6 =
|
249 |
+
* Fix: Twitter hashtag feeds now work for hashtags beginning with a number e.g. #1august
|
250 |
* Fix: Added a workaround for a minor formatting issue caused by some themes
|
251 |
|
252 |
= 1.2.5 =
|
256 |
|
257 |
= 1.2.4 =
|
258 |
* Fix: Custom date format not working in settings area
|
259 |
+
* Fix: Twitter avatars would disappear from the feed in Firefox for certain accounts
|
260 |
* Fix: Changed http: links to https:
|
261 |
+
* Fix: Fixed retweets always being included in persistent caches during the initial tweet retrieval
|
262 |
|
263 |
= 1.2.3 =
|
264 |
* Fix: Fix php warning when no media in tweets under certain circumstances
|
265 |
+
* Fix: Missing "alt" attributes for Twitter avatars
|
266 |
|
267 |
= 1.2.2 =
|
268 |
* Fix: Fixed an issue with include/exclude string to array conversion warning
|
272 |
* Fix: Fixed an issue where a small line was added to quoted tweets in retweets that have no media
|
273 |
|
274 |
= 1.2 =
|
275 |
+
* New: The plugin now uses persistent tweet caching for Twitter hashtag feeds. By default, when displaying hashtag feed Twitter only returns Tweets from the last 7 days, but the persistent cache now allows you to display these Tweets indefinitely.
|
276 |
* New: Tweets with media will have an icon and label that links to the tweet on twitter.com
|
277 |
+
* Fix: Fixed an issue with checkbox settings being changed unintentionally after obtaining a new Twitter access token
|
278 |
|
279 |
= 1.1.8 =
|
280 |
+
* Tweak: Updated Custom Twitter Feed plugin links for new WordPress.org repo
|
281 |
* Fix: Minor bug fixes
|
282 |
|
283 |
= 1.1.7 =
|
284 |
+
* Fix: Fixed an issue with the Twitter Access Token and Twitter Secrets not automatically being saved when initially obtaining them
|
285 |
* Fix: Fixed an issue with some customization settings not saving occasionally
|
286 |
|
287 |
= 1.1.6 =
|
290 |
|
291 |
= 1.1.5 =
|
292 |
* Fix: Fixed a rare issue when loading more Tweets
|
293 |
+
* Fix: When there is no bio text in the header then the Twitter screenname text is now automatically centered vertically
|
294 |
|
295 |
= 1.1.4 =
|
296 |
* Fix: Fixed an issue with some setting checkboxes
|
298 |
* Tested with the upcoming WordPress 4.6 update
|
299 |
|
300 |
= 1.1.3 =
|
301 |
+
* Fix: Prevented any duplicate Twitter Tweets from being shown
|
302 |
* Fix: Fixed a rare issue where a couple of settings weren't being saved successfully
|
303 |
|
304 |
= 1.1.2 =
|
306 |
* Fix: Minor bug fixes
|
307 |
|
308 |
= 1.1.1 =
|
309 |
+
* Fix: Added SSL support for Twitter avatar images so https version is used
|
310 |
* Fix: Fixed an issue with the "hours" custom text string displaying the "minutes" text instead
|
311 |
|
312 |
= 1.1 =
|
css/ctf-admin-styles.css
CHANGED
@@ -297,7 +297,6 @@
|
|
297 |
}
|
298 |
#ctf-admin .ctf_pro,
|
299 |
#ctf-admin .ctf_pro label,
|
300 |
-
#ctf-admin .ctf_pro .ctf-tooltip-link,
|
301 |
#ctf_admin .ctf_pro input{
|
302 |
color: #999 !important;
|
303 |
}
|
@@ -375,6 +374,21 @@
|
|
375 |
-o-transition: all 0.1s ease-in-out;
|
376 |
transition: all 0.1s ease-in-out;
|
377 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
#ctf-admin .ctf-success{
|
379 |
font-size: 14px;
|
380 |
}
|
297 |
}
|
298 |
#ctf-admin .ctf_pro,
|
299 |
#ctf-admin .ctf_pro label,
|
|
|
300 |
#ctf_admin .ctf_pro input{
|
301 |
color: #999 !important;
|
302 |
}
|
374 |
-o-transition: all 0.1s ease-in-out;
|
375 |
transition: all 0.1s ease-in-out;
|
376 |
}
|
377 |
+
#ctf-admin .ctf-pro-options,
|
378 |
+
#ctf-admin .ctf-pro-options label{
|
379 |
+
color: #999 !important;
|
380 |
+
}
|
381 |
+
#ctf-admin .ctf-shortcode_table tr.ctf-pro-options{
|
382 |
+
background: #eacccc;
|
383 |
+
}
|
384 |
+
#ctf-admin .ctf-pro-options label,
|
385 |
+
#ctf-admin .ctf-pro-options .ctf_shortcode {
|
386 |
+
color: #999 !important;
|
387 |
+
}
|
388 |
+
#ctf-admin .ctf_pro .ctf-tooltip-link,
|
389 |
+
#ctf-admin .ctf-pro-options .ctf-tooltip-link {
|
390 |
+
color: #aaa !important;
|
391 |
+
}
|
392 |
#ctf-admin .ctf-success{
|
393 |
font-size: 14px;
|
394 |
}
|
css/ctf-styles.css
CHANGED
@@ -429,8 +429,8 @@
|
|
429 |
-o-transition: background 0.1s ease-in-out;
|
430 |
transition: background 0.1s ease-in-out;
|
431 |
}
|
432 |
-
#ctf .ctf-tweet-text-media-wrap
|
433 |
-
#ctf .ctf-quoted-tweet-text-media-wrap
|
434 |
padding-left: 3px;
|
435 |
}
|
436 |
#ctf .ctf-tweet-text-media-wrap:hover,
|
429 |
-o-transition: background 0.1s ease-in-out;
|
430 |
transition: background 0.1s ease-in-out;
|
431 |
}
|
432 |
+
#ctf .ctf-tweet-text-media-wrap .fa,
|
433 |
+
#ctf .ctf-quoted-tweet-text-media-wrap .fa{
|
434 |
padding-left: 3px;
|
435 |
}
|
436 |
#ctf .ctf-tweet-text-media-wrap:hover,
|
custom-twitter-feed.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Custom Twitter Feeds
|
4 |
Plugin URI: http://smashballoon.com/custom-twitter-feeds
|
5 |
Description: Customizable Twitter feeds for your website
|
6 |
-
Version: 1.2.
|
7 |
Author: Smash Balloon
|
8 |
Author URI: http://smashballoon.com/
|
9 |
Text Domain: custom-twitter-feeds
|
@@ -24,7 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
24 |
*/
|
25 |
|
26 |
define( 'CTF_URL', plugin_dir_path( __FILE__ ) );
|
27 |
-
define( 'CTF_VERSION', '1.2.
|
28 |
define( 'CTF_TITLE', 'Custom Twitter Feeds' );
|
29 |
define( 'CTF_JS_URL', plugins_url( '/js/ctf-scripts.js?ver=' . CTF_VERSION , __FILE__ ) );
|
30 |
define( 'OAUTH_PROCESSOR_URL', 'https://smashballoon.com/ctf-at-retriever/?return_uri=' );
|
@@ -124,6 +124,12 @@ function ctf_get_more_posts() {
|
|
124 |
add_action( 'wp_ajax_nopriv_ctf_get_more_posts', 'ctf_get_more_posts' );
|
125 |
add_action( 'wp_ajax_ctf_get_more_posts', 'ctf_get_more_posts' );
|
126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
/**
|
128 |
* the html output is controlled by the user selecting which portions of tweets to show
|
129 |
*
|
@@ -246,27 +252,42 @@ add_action( 'wp_ajax_ctf_auto_save_tokens', 'ctf_auto_save_tokens' );
|
|
246 |
* @return mixed bool whether or not it was successful
|
247 |
*/
|
248 |
function ctf_clear_cache() {
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
} else {
|
265 |
-
return false;
|
266 |
-
}
|
267 |
}
|
268 |
add_action( 'ctf_cron_job', 'ctf_clear_cache' );
|
269 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
|
271 |
/**
|
272 |
* manually clears the persistent cached tweets
|
@@ -366,7 +387,7 @@ function ctf_admin_scripts_and_styles() {
|
|
366 |
)
|
367 |
);
|
368 |
wp_enqueue_style( 'wp-color-picker' );
|
369 |
-
wp_enqueue_script(
|
370 |
}
|
371 |
add_action( 'admin_enqueue_scripts', 'ctf_admin_scripts_and_styles' );
|
372 |
|
3 |
Plugin Name: Custom Twitter Feeds
|
4 |
Plugin URI: http://smashballoon.com/custom-twitter-feeds
|
5 |
Description: Customizable Twitter feeds for your website
|
6 |
+
Version: 1.2.8
|
7 |
Author: Smash Balloon
|
8 |
Author URI: http://smashballoon.com/
|
9 |
Text Domain: custom-twitter-feeds
|
24 |
*/
|
25 |
|
26 |
define( 'CTF_URL', plugin_dir_path( __FILE__ ) );
|
27 |
+
define( 'CTF_VERSION', '1.2.8' );
|
28 |
define( 'CTF_TITLE', 'Custom Twitter Feeds' );
|
29 |
define( 'CTF_JS_URL', plugins_url( '/js/ctf-scripts.js?ver=' . CTF_VERSION , __FILE__ ) );
|
30 |
define( 'OAUTH_PROCESSOR_URL', 'https://smashballoon.com/ctf-at-retriever/?return_uri=' );
|
124 |
add_action( 'wp_ajax_nopriv_ctf_get_more_posts', 'ctf_get_more_posts' );
|
125 |
add_action( 'wp_ajax_ctf_get_more_posts', 'ctf_get_more_posts' );
|
126 |
|
127 |
+
function ctf_plugin_action_links( $links ) {
|
128 |
+
$links[] = '<a href="'. esc_url( get_admin_url( null, 'admin.php?page=custom-twitter-feeds' ) ) .'">' . __( 'Settings' ) . '</a>';
|
129 |
+
return $links;
|
130 |
+
}
|
131 |
+
add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'ctf_plugin_action_links' );
|
132 |
+
|
133 |
/**
|
134 |
* the html output is controlled by the user selecting which portions of tweets to show
|
135 |
*
|
252 |
* @return mixed bool whether or not it was successful
|
253 |
*/
|
254 |
function ctf_clear_cache() {
|
255 |
+
|
256 |
+
//Delete all transients
|
257 |
+
global $wpdb;
|
258 |
+
$table_name = $wpdb->prefix . "options";
|
259 |
+
$result = $wpdb->query("
|
260 |
+
DELETE
|
261 |
+
FROM $table_name
|
262 |
+
WHERE `option_name` LIKE ('%\_transient\_ctf\_%')
|
263 |
+
");
|
264 |
+
$wpdb->query("
|
265 |
+
DELETE
|
266 |
+
FROM $table_name
|
267 |
+
WHERE `option_name` LIKE ('%\_transient\_timeout\_ctf\_%')
|
268 |
+
");
|
269 |
+
|
|
|
|
|
|
|
270 |
}
|
271 |
add_action( 'ctf_cron_job', 'ctf_clear_cache' );
|
272 |
+
|
273 |
+
function ctf_clear_cache_admin() {
|
274 |
+
|
275 |
+
//Delete all transients
|
276 |
+
global $wpdb;
|
277 |
+
$table_name = $wpdb->prefix . "options";
|
278 |
+
$result = $wpdb->query("
|
279 |
+
DELETE
|
280 |
+
FROM $table_name
|
281 |
+
WHERE `option_name` LIKE ('%\_transient\_ctf\_%')
|
282 |
+
");
|
283 |
+
$wpdb->query("
|
284 |
+
DELETE
|
285 |
+
FROM $table_name
|
286 |
+
WHERE `option_name` LIKE ('%\_transient\_timeout\_ctf\_%')
|
287 |
+
");
|
288 |
+
|
289 |
+
}
|
290 |
+
add_action( 'wp_ajax_ctf_clear_cache_admin', 'ctf_clear_cache_admin' );
|
291 |
|
292 |
/**
|
293 |
* manually clears the persistent cached tweets
|
387 |
)
|
388 |
);
|
389 |
wp_enqueue_style( 'wp-color-picker' );
|
390 |
+
wp_enqueue_script( 'wp-color-picker' );
|
391 |
}
|
392 |
add_action( 'admin_enqueue_scripts', 'ctf_admin_scripts_and_styles' );
|
393 |
|
inc/CtfAdmin.php
CHANGED
@@ -576,7 +576,7 @@ class CtfAdmin
|
|
576 |
'section' => 'ctf_options_advanced', // matches the section name
|
577 |
'option' => 'ctf_options', // matches the options name
|
578 |
'class' => '',
|
579 |
-
'whatis' => "Checking this box will make all Search and Hashtag feeds have a permanent cache saved in the database by default of up to 150 tweets. Tweets will be available for the feed even after the 7 day limit though numbers of retweets and likes will not update
|
580 |
));
|
581 |
|
582 |
/**
|
576 |
'section' => 'ctf_options_advanced', // matches the section name
|
577 |
'option' => 'ctf_options', // matches the options name
|
578 |
'class' => '',
|
579 |
+
'whatis' => "Checking this box will make all Search and Hashtag feeds have a permanent cache saved in the database by default of up to 150 tweets. Tweets will be available for the feed even after the 7 day limit though numbers of retweets and likes will not update"
|
580 |
));
|
581 |
|
582 |
/**
|
inc/CtfFeed.php
CHANGED
@@ -1178,7 +1178,7 @@ class CtfFeed
|
|
1178 |
$ctf_header_html .= '</span>';
|
1179 |
|
1180 |
if ( $tweet_set[0]['user']['verified'] == 1 ) {
|
1181 |
-
$ctf_header_html .= '<span class="ctf-verified"><i class="fa fa-check-circle"></i></span>';
|
1182 |
}
|
1183 |
|
1184 |
$ctf_header_html .= '<span class="ctf-header-follow"><i class="fa fa-twitter" aria-hidden="true"></i>Follow</span>';
|
@@ -1190,7 +1190,7 @@ class CtfFeed
|
|
1190 |
|
1191 |
$ctf_header_html .= '</div>';
|
1192 |
$ctf_header_html .= '<div class="ctf-header-img">';
|
1193 |
-
$ctf_header_html .= '<div class="ctf-header-img-hover"><i class="fa fa-twitter"></i></div>';
|
1194 |
$ctf_header_html .= '<img src="' . $tweet_set[0]['user']['profile_image_url_https'] . '" alt="' . $tweet_set[0]['user']['name'] . '" width="48" height="48">';
|
1195 |
$ctf_header_html .= '</div>';
|
1196 |
$ctf_header_html .= '</a>';
|
@@ -1212,7 +1212,7 @@ class CtfFeed
|
|
1212 |
$ctf_header_html .= '</div>';
|
1213 |
$ctf_header_html .= '<div class="ctf-header-img">';
|
1214 |
$ctf_header_html .= '<div class="ctf-header-generic-icon">';
|
1215 |
-
$ctf_header_html .= '<i class="fa fa-twitter"></i>';
|
1216 |
$ctf_header_html .= '</div>';
|
1217 |
$ctf_header_html .= '</div>';
|
1218 |
$ctf_header_html .= '</a>';
|
@@ -1286,13 +1286,13 @@ class CtfFeed
|
|
1286 |
switch ( $quoted_media[0]['type'] ) {
|
1287 |
case 'video':
|
1288 |
case 'animated_gif':
|
1289 |
-
$quoted_media_text .= '<i style="padding-right: 5px;" class="fa fa-file-video-o ctf-tweet-text-media"></i>';
|
1290 |
break;
|
1291 |
default:
|
1292 |
if ( $quoted_media_count > 1 ) {
|
1293 |
-
$quoted_media_text .= '<span class="ctf-quoted-tweet-text-media-wrap">' . $quoted_media_count . '<i style="padding-right: 5px;" class="fa fa-picture-o ctf-tweet-text-media"></i></span>';
|
1294 |
} else {
|
1295 |
-
$quoted_media_text .= '<span class="ctf-quoted-tweet-text-media-wrap"><i style="padding-right: 5px;" class="fa fa-picture-o ctf-tweet-text-media"></i></span>';
|
1296 |
}
|
1297 |
break;
|
1298 |
}
|
@@ -1313,13 +1313,13 @@ class CtfFeed
|
|
1313 |
switch ( $post_media[0]['type'] ) {
|
1314 |
case 'video':
|
1315 |
case 'animated_gif':
|
1316 |
-
$post_media_text .= '<i style="padding-right: 5px;" class="fa fa-file-video-o ctf-tweet-text-media"></i>';
|
1317 |
break;
|
1318 |
default:
|
1319 |
if ( $post_media_count > 1 ) {
|
1320 |
-
$post_media_text .= $post_media_count . '<i style="padding-right: 5px;" class="fa fa-picture-o ctf-tweet-text-media"></i>';
|
1321 |
} else {
|
1322 |
-
$post_media_text .= '<i style="padding-right: 5px;" class="fa fa-picture-o ctf-tweet-text-media"></i>';
|
1323 |
}
|
1324 |
break;
|
1325 |
}
|
@@ -1332,7 +1332,7 @@ class CtfFeed
|
|
1332 |
|
1333 |
if ( isset( $retweeter ) && ctf_show( 'retweeter', $feed_options ) ) {
|
1334 |
$tweet_html .= '<div class="ctf-context">';
|
1335 |
-
$tweet_html .= '<a href="https://twitter.com/intent/user?screen_name=' . $retweeter['screen_name'] . '" target="_blank" class="ctf-retweet-icon"><i class="fa fa-retweet"></i><span class="ctf-screenreader">Retweet on Twitter</span></a>';
|
1336 |
$tweet_html .= '<a href="https://twitter.com/' . $retweeter['screen_name'] . '" target="_blank" class="ctf-retweet-text" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">' . $retweeter['name'] . ' ' . $feed_options['retweetedtext'] . '</a>';
|
1337 |
$tweet_html .= '</div>';
|
1338 |
}
|
@@ -1350,7 +1350,7 @@ class CtfFeed
|
|
1350 |
if ( ctf_show( 'author', $feed_options ) ) {
|
1351 |
$tweet_html .= '<a href="https://twitter.com/' . $post['user']['screen_name'] . '" target="_blank" class="ctf-author-name" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">' . $post['user']['name'] . '</a>';
|
1352 |
if ( $post['user']['verified'] == 1 ) {
|
1353 |
-
$tweet_html .= '<span class="ctf-verified" ><i class="fa fa-check-circle" ></i
|
1354 |
}
|
1355 |
$tweet_html .= '<a href="https://twitter.com/' . $post['user']['screen_name'] . '" class="ctf-author-screenname" target="_blank" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">@' . $post['user']['screen_name'] . '</a>';
|
1356 |
$tweet_html .= '<span class="ctf-screename-sep">·</span>';
|
@@ -1394,7 +1394,7 @@ class CtfFeed
|
|
1394 |
$tweet_html .= '<span class="ctf-quoted-author-name">' . $quoted['user']['name'] . '</span>';
|
1395 |
|
1396 |
if ($quoted['user']['verified'] == 1) {
|
1397 |
-
$tweet_html .= '<span class="ctf-quoted-verified"><i class="fa fa-check-circle" ></i></span>';
|
1398 |
} // user is verified
|
1399 |
|
1400 |
$tweet_html .= '<span class="ctf-quoted-author-screenname">@' . $quoted['user']['screen_name'] . '</span>';
|
@@ -1405,13 +1405,13 @@ class CtfFeed
|
|
1405 |
|
1406 |
$tweet_html .= '<div class="ctf-tweet-actions">';
|
1407 |
if ( ctf_show( 'actions', $feed_options ) ) {
|
1408 |
-
$tweet_html .= '<a href="https://twitter.com/intent/tweet?in_reply_to=' . $post['id_str'] . '&related=' . $post['user']['screen_name'] . '" class="ctf-reply" target="_blank" style="' . $feed_options['iconsize'] . $feed_options['iconcolor'] . '"><i class="fa fa-reply"></i><span class="ctf-screenreader">Reply on Twitter</span></a>';
|
1409 |
-
$tweet_html .= '<a href="https://twitter.com/intent/retweet?tweet_id=' . $post['id_str'] . '&related=' . $post['user']['screen_name'] . '" class="ctf-retweet" target="_blank" style="' . $feed_options['iconsize'] . $feed_options['iconcolor'] . '"><i class="fa fa-retweet"></i><span class="ctf-screenreader">Retweet on Twitter</span><span class="ctf-action-count ctf-retweet-count">';
|
1410 |
if ( $post['retweet_count'] > 0 ) {
|
1411 |
$tweet_html .= $post['retweet_count'];
|
1412 |
}
|
1413 |
$tweet_html .= '</span></a>';
|
1414 |
-
$tweet_html .= '<a href="https://twitter.com/intent/like?tweet_id=' . $post['id_str'] . '&related=' . $post['user']['screen_name'] . '" class="ctf-like" target="_blank" style="' . $feed_options['iconsize'] . $feed_options['iconcolor'] . '"><i class="fa fa-heart"></i><span class="ctf-screenreader">Like on Twitter</span><span class="ctf-action-count ctf-favorite-count">';
|
1415 |
if ( $post['favorite_count'] > 0 ) {
|
1416 |
$tweet_html .= $post['favorite_count'];
|
1417 |
}
|
1178 |
$ctf_header_html .= '</span>';
|
1179 |
|
1180 |
if ( $tweet_set[0]['user']['verified'] == 1 ) {
|
1181 |
+
$ctf_header_html .= '<span class="ctf-verified"><i class="fa fa-check-circle" aria-hidden="true"></i></span>';
|
1182 |
}
|
1183 |
|
1184 |
$ctf_header_html .= '<span class="ctf-header-follow"><i class="fa fa-twitter" aria-hidden="true"></i>Follow</span>';
|
1190 |
|
1191 |
$ctf_header_html .= '</div>';
|
1192 |
$ctf_header_html .= '<div class="ctf-header-img">';
|
1193 |
+
$ctf_header_html .= '<div class="ctf-header-img-hover"><i class="fa fa-twitter" aria-hidden="true"></i></div>';
|
1194 |
$ctf_header_html .= '<img src="' . $tweet_set[0]['user']['profile_image_url_https'] . '" alt="' . $tweet_set[0]['user']['name'] . '" width="48" height="48">';
|
1195 |
$ctf_header_html .= '</div>';
|
1196 |
$ctf_header_html .= '</a>';
|
1212 |
$ctf_header_html .= '</div>';
|
1213 |
$ctf_header_html .= '<div class="ctf-header-img">';
|
1214 |
$ctf_header_html .= '<div class="ctf-header-generic-icon">';
|
1215 |
+
$ctf_header_html .= '<i class="fa fa-twitter" aria-hidden="true"></i>';
|
1216 |
$ctf_header_html .= '</div>';
|
1217 |
$ctf_header_html .= '</div>';
|
1218 |
$ctf_header_html .= '</a>';
|
1286 |
switch ( $quoted_media[0]['type'] ) {
|
1287 |
case 'video':
|
1288 |
case 'animated_gif':
|
1289 |
+
$quoted_media_text .= '<i style="padding-right: 5px;" class="fa fa-file-video-o ctf-tweet-text-media" aria-hidden="true"></i>';
|
1290 |
break;
|
1291 |
default:
|
1292 |
if ( $quoted_media_count > 1 ) {
|
1293 |
+
$quoted_media_text .= '<span class="ctf-quoted-tweet-text-media-wrap">' . $quoted_media_count . '<i style="padding-right: 5px;" class="fa fa-picture-o ctf-tweet-text-media" aria-hidden="true"></i></span>';
|
1294 |
} else {
|
1295 |
+
$quoted_media_text .= '<span class="ctf-quoted-tweet-text-media-wrap"><i style="padding-right: 5px;" class="fa fa-picture-o ctf-tweet-text-media" aria-hidden="true"></i></span>';
|
1296 |
}
|
1297 |
break;
|
1298 |
}
|
1313 |
switch ( $post_media[0]['type'] ) {
|
1314 |
case 'video':
|
1315 |
case 'animated_gif':
|
1316 |
+
$post_media_text .= '<i style="padding-right: 5px;" class="fa fa-file-video-o ctf-tweet-text-media" aria-hidden="true"></i>';
|
1317 |
break;
|
1318 |
default:
|
1319 |
if ( $post_media_count > 1 ) {
|
1320 |
+
$post_media_text .= $post_media_count . '<i style="padding-right: 5px;" class="fa fa-picture-o ctf-tweet-text-media" aria-hidden="true"></i>';
|
1321 |
} else {
|
1322 |
+
$post_media_text .= '<i style="padding-right: 5px;" class="fa fa-picture-o ctf-tweet-text-media" aria-hidden="true"></i>';
|
1323 |
}
|
1324 |
break;
|
1325 |
}
|
1332 |
|
1333 |
if ( isset( $retweeter ) && ctf_show( 'retweeter', $feed_options ) ) {
|
1334 |
$tweet_html .= '<div class="ctf-context">';
|
1335 |
+
$tweet_html .= '<a href="https://twitter.com/intent/user?screen_name=' . $retweeter['screen_name'] . '" target="_blank" class="ctf-retweet-icon"><i class="fa fa-retweet" aria-hidden="true"></i><span class="ctf-screenreader">Retweet on Twitter</span></a>';
|
1336 |
$tweet_html .= '<a href="https://twitter.com/' . $retweeter['screen_name'] . '" target="_blank" class="ctf-retweet-text" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">' . $retweeter['name'] . ' ' . $feed_options['retweetedtext'] . '</a>';
|
1337 |
$tweet_html .= '</div>';
|
1338 |
}
|
1350 |
if ( ctf_show( 'author', $feed_options ) ) {
|
1351 |
$tweet_html .= '<a href="https://twitter.com/' . $post['user']['screen_name'] . '" target="_blank" class="ctf-author-name" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">' . $post['user']['name'] . '</a>';
|
1352 |
if ( $post['user']['verified'] == 1 ) {
|
1353 |
+
$tweet_html .= '<span class="ctf-verified" ><i class="fa fa-check-circle" aria-hidden="true"></i></span>';
|
1354 |
}
|
1355 |
$tweet_html .= '<a href="https://twitter.com/' . $post['user']['screen_name'] . '" class="ctf-author-screenname" target="_blank" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">@' . $post['user']['screen_name'] . '</a>';
|
1356 |
$tweet_html .= '<span class="ctf-screename-sep">·</span>';
|
1394 |
$tweet_html .= '<span class="ctf-quoted-author-name">' . $quoted['user']['name'] . '</span>';
|
1395 |
|
1396 |
if ($quoted['user']['verified'] == 1) {
|
1397 |
+
$tweet_html .= '<span class="ctf-quoted-verified"><i class="fa fa-check-circle" aria-hidden="true"></i></span>';
|
1398 |
} // user is verified
|
1399 |
|
1400 |
$tweet_html .= '<span class="ctf-quoted-author-screenname">@' . $quoted['user']['screen_name'] . '</span>';
|
1405 |
|
1406 |
$tweet_html .= '<div class="ctf-tweet-actions">';
|
1407 |
if ( ctf_show( 'actions', $feed_options ) ) {
|
1408 |
+
$tweet_html .= '<a href="https://twitter.com/intent/tweet?in_reply_to=' . $post['id_str'] . '&related=' . $post['user']['screen_name'] . '" class="ctf-reply" target="_blank" style="' . $feed_options['iconsize'] . $feed_options['iconcolor'] . '"><i class="fa fa-reply" aria-hidden="true"></i><span class="ctf-screenreader">Reply on Twitter</span></a>';
|
1409 |
+
$tweet_html .= '<a href="https://twitter.com/intent/retweet?tweet_id=' . $post['id_str'] . '&related=' . $post['user']['screen_name'] . '" class="ctf-retweet" target="_blank" style="' . $feed_options['iconsize'] . $feed_options['iconcolor'] . '"><i class="fa fa-retweet" aria-hidden="true"></i><span class="ctf-screenreader">Retweet on Twitter</span><span class="ctf-action-count ctf-retweet-count">';
|
1410 |
if ( $post['retweet_count'] > 0 ) {
|
1411 |
$tweet_html .= $post['retweet_count'];
|
1412 |
}
|
1413 |
$tweet_html .= '</span></a>';
|
1414 |
+
$tweet_html .= '<a href="https://twitter.com/intent/like?tweet_id=' . $post['id_str'] . '&related=' . $post['user']['screen_name'] . '" class="ctf-like" target="_blank" style="' . $feed_options['iconsize'] . $feed_options['iconcolor'] . '"><i class="fa fa-heart" aria-hidden="true"></i><span class="ctf-screenreader">Like on Twitter</span><span class="ctf-action-count ctf-favorite-count">';
|
1415 |
if ( $post['favorite_count'] > 0 ) {
|
1416 |
$tweet_html .= $post['favorite_count'];
|
1417 |
}
|
inc/admin-hooks.php
CHANGED
@@ -105,6 +105,19 @@ function ctf_return_style_quick_links() {
|
|
105 |
|
106 |
add_action( 'ctf_admin_endpoints', 'ctf_add_mentionstimeline_options', 10, 1 );
|
107 |
function ctf_add_mentionstimeline_options( $admin ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
$admin->create_settings_field( array(
|
109 |
'name' => 'mentionstimeline',
|
110 |
'title' => '<label></label>', // label for the input field
|
@@ -118,6 +131,19 @@ function ctf_add_mentionstimeline_options( $admin ) {
|
|
118 |
'has_input' => false,
|
119 |
'has_replies' => false
|
120 |
));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
}
|
122 |
|
123 |
add_filter( 'ctf_admin_show_hide_list', 'ctf_show_hide_list', 10, 1 );
|
@@ -128,112 +154,200 @@ function ctf_show_hide_list( $show_hide_list ) {
|
|
128 |
return $show_hide_list;
|
129 |
}
|
130 |
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
|
|
|
|
210 |
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
//
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
}
|
238 |
|
239 |
add_action( 'ctf_admin_customize_option', 'ctf_add_customize_general_options', 20, 1 );
|
@@ -257,79 +371,6 @@ function ctf_add_customize_general_options( $admin ) {
|
|
257 |
add_action( 'ctf_admin_customize_option', 'ctf_add_filter_options', 10, 1 );
|
258 |
function ctf_add_filter_options( $admin ) {
|
259 |
|
260 |
-
add_settings_section(
|
261 |
-
'ctf_options_filter', // matches the section name
|
262 |
-
'<span class="ctf_pro_header">Moderation</span><p class="ctf_pro_section_note"><a href="https://smashballoon.com/custom-twitter-feeds/" target="_blank">Upgrade to Pro to enable Tweet Moderation</a></p>',
|
263 |
-
array( $admin, 'general_section_text' ), // callback function to explain the section
|
264 |
-
'ctf_options_filter' // matches the section name
|
265 |
-
);
|
266 |
-
|
267 |
-
// includewords
|
268 |
-
// $admin->create_settings_field( array(
|
269 |
-
// 'name' => 'includewords',
|
270 |
-
// 'title' => '<label for="ctf_includewords">Show Tweets containing these words or hashtags</label><code class="ctf_shortcode">includewords
|
271 |
-
// Eg: includewords="#puppy,#cute"</code>', // label for the input field
|
272 |
-
// 'callback' => 'default_text', // name of the function that outputs the html
|
273 |
-
// 'page' => 'ctf_options_filter', // matches the section name
|
274 |
-
// 'section' => 'ctf_options_filter', // matches the section name
|
275 |
-
// 'option' => 'ctf_options', // matches the options name
|
276 |
-
// 'class' => 'large-text ctf_pro', // class for the wrapper and input field
|
277 |
-
// 'default' => '',
|
278 |
-
// 'example' => '"includewords" separate words by comma'
|
279 |
-
// ));
|
280 |
-
|
281 |
-
// // excludewords
|
282 |
-
// $admin->create_settings_field( array(
|
283 |
-
// 'name' => 'excludewords',
|
284 |
-
// 'title' => '<label for="ctf_excludewords">Remove Tweets containing these words or hashtags</label><code class="ctf_shortcode">excludewords
|
285 |
-
// Eg: excludewords="#ugly,#bad"</code>', // label for the input field
|
286 |
-
// 'callback' => 'default_text', // name of the function that outputs the html
|
287 |
-
// 'page' => 'ctf_options_filter', // matches the section name
|
288 |
-
// 'section' => 'ctf_options_filter', // matches the section name
|
289 |
-
// 'option' => 'ctf_options', // matches the options name
|
290 |
-
// 'class' => 'large-text ctf_pro', // class for the wrapper and input field
|
291 |
-
// 'default' => '',
|
292 |
-
// 'example' => '"excludewords" separate words by comma'
|
293 |
-
// ));
|
294 |
-
|
295 |
-
// // operator
|
296 |
-
// $admin->create_settings_field( array(
|
297 |
-
// 'name' => 'filteroperator',
|
298 |
-
// 'title' => '', // label for the input field
|
299 |
-
// 'callback' => 'ctf_filter_operator', // name of the function that outputs the html
|
300 |
-
// 'page' => 'ctf_options_filter', // matches the section name
|
301 |
-
// 'section' => 'ctf_options_filter', // matches the section name
|
302 |
-
// 'option' => 'ctf_options', // matches the options name
|
303 |
-
// 'class' => 'ctf_pro', // class for the wrapper and input field
|
304 |
-
// ));
|
305 |
-
|
306 |
-
// add_settings_field(
|
307 |
-
// 'filteroperator',
|
308 |
-
// '',
|
309 |
-
// 'ctf_filter_operator',
|
310 |
-
// 'ctf_options_filter',
|
311 |
-
// 'ctf_options_filter',
|
312 |
-
// array(
|
313 |
-
// 'option' => 'ctf_options',
|
314 |
-
// 'class' => 'ctf_pro'
|
315 |
-
// )
|
316 |
-
// );
|
317 |
-
|
318 |
-
// add_settings_field(
|
319 |
-
// 'remove_by_id',
|
320 |
-
// '<label for="ctf_remove_by_id">Hide Specific Tweets</label>',
|
321 |
-
// 'ctf_remove_by_id',
|
322 |
-
// 'ctf_options_filter',
|
323 |
-
// 'ctf_options_filter',
|
324 |
-
// array(
|
325 |
-
// 'option' => 'ctf_options',
|
326 |
-
// 'extra' => 'separate IDs by comma',
|
327 |
-
// 'name' => 'remove_by_id',
|
328 |
-
// 'whatis' => 'These are the specific ID numbers associated with a tweet. (link to example)',
|
329 |
-
// 'class' => 'ctf_pro'
|
330 |
-
// )
|
331 |
-
// );
|
332 |
-
|
333 |
add_settings_field(
|
334 |
'clear_tc_cache_button',
|
335 |
'<label for="ctf_clear_tc_cache_button">Clear Twitter Card Cache</label>',
|
@@ -346,7 +387,7 @@ function ctf_remove_by_id( $args ) {
|
|
346 |
?>
|
347 |
<textarea name="<?php echo $args['option'].'['.$args['name'].']'; ?>" id="ctf_<?php echo $args['name']; ?>" style="width: 70%;" rows="3"><?php esc_attr_e( stripslashes( $option_string ) ); ?></textarea>
|
348 |
<?php if ( isset( $args['extra'] ) ) : ?><p><?php _e( $args['extra'], 'custom-twitter-feeds' ); ?>
|
349 |
-
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><
|
350 |
<span class="ctf-tooltip ctf-more-info"><?php _e( $args['whatis'], 'custom-twitter-feeds' ); ?>.</span>
|
351 |
</p> <?php endif; ?>
|
352 |
<?php
|
@@ -355,7 +396,7 @@ function ctf_remove_by_id( $args ) {
|
|
355 |
function ctf_clear_tc_cache_button() {
|
356 |
?>
|
357 |
<input id="ctf-clear-tc-cache" class="button-secondary" style="margin-top: 1px;" type="submit" value="<?php esc_attr_e( 'Clear Twitter Cards' ); ?>" />
|
358 |
-
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><
|
359 |
<p class="ctf-tooltip ctf-more-info"><?php _e( 'Clicking this button will clear all cached data for your links that have Twitter Cards', 'custom-twitter-feeds' ); ?>.</p>
|
360 |
<?php
|
361 |
}
|
@@ -385,7 +426,7 @@ function ctf_filter_operator( $args ) {
|
|
385 |
of the "excludewords"
|
386 |
</p>
|
387 |
<?php if ( isset( $args['whatis'] ) ) : ?>
|
388 |
-
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><
|
389 |
<p class="ctf-tooltip ctf-more-info"><?php _e( $args['whatis'], 'custom-twitter-feeds' ); ?>.</p>
|
390 |
<?php endif; ?>
|
391 |
<?php
|
@@ -394,6 +435,9 @@ function ctf_filter_operator( $args ) {
|
|
394 |
add_action( 'ctf_admin_add_settings_sections_to_customize', 'ctf_add_masonry_autoload_section_to_customize' );
|
395 |
function ctf_add_masonry_autoload_section_to_customize() {
|
396 |
?>
|
|
|
|
|
|
|
397 |
<a id="masonry"></a>
|
398 |
<?php do_settings_sections( 'ctf_options_masonry' ); ?>
|
399 |
<hr>
|
105 |
|
106 |
add_action( 'ctf_admin_endpoints', 'ctf_add_mentionstimeline_options', 10, 1 );
|
107 |
function ctf_add_mentionstimeline_options( $admin ) {
|
108 |
+
$admin->create_settings_field( array(
|
109 |
+
'name' => 'search_pro',
|
110 |
+
'title' => '<label></label>', // label for the input field
|
111 |
+
'callback' => 'feed_settings_radio', // name of the function that outputs the html
|
112 |
+
'page' => 'ctf_options_feed_settings', // matches the section name
|
113 |
+
'section' => 'ctf_options_feed_settings', // matches the section name
|
114 |
+
'option' => 'ctf_options', // matches the options name
|
115 |
+
'class' => 'ctf-radio ctf_pro', // class for the wrapper and input field
|
116 |
+
'whatis' => 'You can create search feeds which contain a large variety of different terms and operators, such as a combination of #hashtags, @mentions, words, or "phrases"', // what is this? text
|
117 |
+
'label' => "Search",
|
118 |
+
'has_input' => false,
|
119 |
+
'has_replies' => false
|
120 |
+
));
|
121 |
$admin->create_settings_field( array(
|
122 |
'name' => 'mentionstimeline',
|
123 |
'title' => '<label></label>', // label for the input field
|
131 |
'has_input' => false,
|
132 |
'has_replies' => false
|
133 |
));
|
134 |
+
$admin->create_settings_field( array(
|
135 |
+
'name' => 'lists',
|
136 |
+
'title' => '<label></label>', // label for the input field
|
137 |
+
'callback' => 'feed_settings_radio', // name of the function that outputs the html
|
138 |
+
'page' => 'ctf_options_feed_settings', // matches the section name
|
139 |
+
'section' => 'ctf_options_feed_settings', // matches the section name
|
140 |
+
'option' => 'ctf_options', // matches the options name
|
141 |
+
'class' => 'ctf-radio ctf_pro', // class for the wrapper and input field
|
142 |
+
'whatis' => 'Enter the list ID of the list(s) you want to display. Use this FAQ to create a list on Twitter. Use the helper to find IDs', // what is this? text
|
143 |
+
'label' => "Lists",
|
144 |
+
'has_input' => false,
|
145 |
+
'has_replies' => false
|
146 |
+
));
|
147 |
}
|
148 |
|
149 |
add_filter( 'ctf_admin_show_hide_list', 'ctf_show_hide_list', 10, 1 );
|
154 |
return $show_hide_list;
|
155 |
}
|
156 |
|
157 |
+
function ctf_pro_masonry_section() {
|
158 |
+
?>
|
159 |
+
<p class="ctf_pro_section_note"><a href="https://smashballoon.com/custom-twitter-feeds/" target="_blank">Upgrade to Pro to enable Masonry layouts</a></p>
|
160 |
+
<span><a href="javascript:void(0);" class="button button-secondary ctf-show-pro"><b>+</b> Show Pro Options</a></span>
|
161 |
+
|
162 |
+
<div class="ctf-pro-options">
|
163 |
+
<table class="form-table"><tbody><tr><th scope="row"><label for="ctf_masonry" title="Click for shortcode option">Set Masonry Columns as Default</label><code class="ctf_shortcode">masonry
|
164 |
+
Eg: masonry=true</code></th><td> <input name="ctf_options[masonry]" id="ctf_masonry" type="checkbox" disabled>
|
165 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
166 |
+
<p class="ctf-tooltip ctf-more-info">This will make every Twitter feed show as masonry style columns by default.</p>
|
167 |
+
</td></tr><tr><th scope="row"><label for="ctf_masonrycols">Desktop Columns</label><code class="ctf_shortcode">masonrycols
|
168 |
+
Eg: masonrycols=5</code></th><td> <select name="ctf_options[masonrycols]" id="ctf_masonrycols" class="" disabled>
|
169 |
+
<option value="2" id="ctf-masonrycols" class="">2</option>
|
170 |
+
<option value="3" id="ctf-masonrycols" class="">3</option>
|
171 |
+
<option value="4" id="ctf-masonrycols" class="">4</option>
|
172 |
+
<option value="5" id="ctf-masonrycols" class="">5</option>
|
173 |
+
<option value="6" id="ctf-masonrycols" class="">6</option>
|
174 |
+
</select>
|
175 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
176 |
+
<p class="ctf-tooltip ctf-more-info">Number of vertical columns the masonry feed will use when the screen is viewed on wide screens.</p>
|
177 |
+
</td></tr><tr><th scope="row"><label for="ctf_masonrymobilecols">Mobile Columns</label><code class="ctf_shortcode">masonrymobilecols
|
178 |
+
Eg: masonrymobilecols=2</code></th><td> <select name="ctf_options[masonrymobilecols]" id="ctf_masonrymobilecols" class="" disabled>
|
179 |
+
<option value="1" id="ctf-masonrymobilecols" class="">1</option>
|
180 |
+
<option value="2" id="ctf-masonrymobilecols" class="">2</option>
|
181 |
+
</select>
|
182 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
183 |
+
<p class="ctf-tooltip ctf-more-info">Number of vertical columns the masonry feed will use when the screen is viewed on small screens.</p>
|
184 |
+
</td></tr></tbody></table>
|
185 |
+
</div>
|
186 |
+
<div style="height: 18px;"></div>
|
187 |
+
<?php
|
188 |
+
}
|
189 |
|
190 |
+
function ctf_pro_carousel_section() {
|
191 |
+
?>
|
192 |
+
<p class="ctf_pro_section_note"><a href="https://smashballoon.com/custom-twitter-feeds/" target="_blank">Upgrade to Pro to enable Carousel</a></p>
|
193 |
+
<span><a href="javascript:void(0);" class="button button-secondary ctf-show-pro"><b>+</b> Show Pro Options</a></span>
|
194 |
+
|
195 |
+
<div class="ctf-pro-options">
|
196 |
+
<table class="form-table"><tbody><tr><th scope="row"><label for="ctf_carousel" title="Click for shortcode option">Set Carousel as Default<code class="ctf_shortcode_symbol">[]</code></label><code class="ctf_shortcode">carousel
|
197 |
+
Eg: carousel=true</code></th><td> <input name="ctf_options[carousel]" id="ctf_carousel" type="checkbox">
|
198 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
199 |
+
<p class="ctf-tooltip ctf-more-info">This will make every Twitter feed display in a carousel by default.</p>
|
200 |
+
</td></tr><tr><th scope="row"><label for="ctf_carouselcols">Desktop Columns</label><code class="ctf_shortcode">carouselcols
|
201 |
+
Eg: carouselcols=5</code></th><td> <select name="ctf_options[carouselcols]" id="ctf_carouselcols" class="" disabled>
|
202 |
+
<option value="1" id="ctf-carouselcols" class="">1</option>
|
203 |
+
<option value="2" id="ctf-carouselcols" class="">2</option>
|
204 |
+
<option value="3" id="ctf-carouselcols" class="">3</option>
|
205 |
+
<option value="4" id="ctf-carouselcols" class="">4</option>
|
206 |
+
<option value="5" id="ctf-carouselcols" class="">5</option>
|
207 |
+
<option value="6" id="ctf-carouselcols" class="">6</option>
|
208 |
+
</select>
|
209 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
210 |
+
<p class="ctf-tooltip ctf-more-info">Number of vertical columns the carousel feed will use when the screen is viewed on wide screens.</p>
|
211 |
+
</td></tr><tr><th scope="row"><label for="ctf_carouselmobilecols">Mobile Columns</label><code class="ctf_shortcode">carouselmobilecols
|
212 |
+
Eg: carouselmobilecols=2</code></th><td> <select name="ctf_options[carouselmobilecols]" id="ctf_carouselmobilecols" class="" disabled>
|
213 |
+
<option value="1" id="ctf-carouselmobilecols" class="">1</option>
|
214 |
+
<option value="2" id="ctf-carouselmobilecols" class="">2</option>
|
215 |
+
</select>
|
216 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
217 |
+
<p class="ctf-tooltip ctf-more-info">Number of vertical columns the carousel feed will use when the screen is viewed on small screens.</p>
|
218 |
+
</td></tr><tr><th scope="row"><label for="ctf_carouselarrows">Navigation Arrows</label><code class="ctf_shortcode">carouselarrows
|
219 |
+
Eg: carouselarrows=below</code></th><td> <select name="ctf_options[carouselarrows]" id="ctf_carouselarrows" class="" disabled>
|
220 |
+
<option value="onhover" id="ctf-carouselarrows" class="">Show on Hover</option>
|
221 |
+
<option value="below" id="ctf-carouselarrows" class="">Show below feed</option>
|
222 |
+
<option value="hide" id="ctf-carouselarrows" class="">Hide arrows</option>
|
223 |
+
</select>
|
224 |
+
</td></tr><tr><th scope="row"><label for="ctf_carouselpag">Show Pagination</label><code class="ctf_shortcode">carouselpag
|
225 |
+
Eg: carouselpag=true</code></th><td> <input name="ctf_options[carouselpag]" id="ctf_carouselpag" type="checkbox">
|
226 |
+
</td></tr><tr><th scope="row"><label for="ctf_carouselheight">Height of Carousel</label><code class="ctf_shortcode">carouselheight
|
227 |
+
Eg: carouselheight="auto"</code></th><td> <select name="ctf_options[carouselheight]" id="ctf_carouselheight" class="" disabled>
|
228 |
+
<option value="tallest" id="ctf-carouselheight" class="">Always set to tallest post</option>
|
229 |
+
<option value="clickexpand" id="ctf-carouselheight" class="">Set to shortest post, button to expand</option>
|
230 |
+
<option value="auto" id="ctf-carouselheight" class="">Automatically set to post height (forces single column)</option>
|
231 |
+
</select>
|
232 |
+
</td></tr><tr><th scope="row"><label for="ctf_carouselautoplay">Enable Autoplay</label><code class="ctf_shortcode">carouselautoplay
|
233 |
+
Eg: carouselautoplay=true</code></th><td> <input name="ctf_options[carouselautoplay]" id="ctf_carouselautoplay" type="checkbox" disabled>
|
234 |
+
</td></tr><tr class="default-text"><th scope="row"><label for="ctf_carouseltime">Autoplay interval Time</label><code class="ctf_shortcode">carouseltime
|
235 |
+
Eg: carouseltime=8000</code></th><td> <input name="ctf_options[carouseltime]" id="ctf_carouseltime" class="default-text" type="text" value="5000" disabled>
|
236 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
237 |
+
<p class="ctf-tooltip ctf-more-info">Time it takes for the carousel to change in milliseconds.</p>
|
238 |
+
</td></tr><tr class="default-text"><th scope="row"><label for="ctf_carouselloop">Loop Type</label><code class="ctf_shortcode">carouselloop
|
239 |
+
Eg: carouselloop=none</code></th><td> <select name="ctf_options[carouselloop]" id="ctf_carouselloop" class="default-text" disabled>
|
240 |
+
<option value="none" id="ctf-carouselloop" class="default-text">None</option>
|
241 |
+
<option value="infinite" id="ctf-carouselloop" class="default-text">Infinite</option>
|
242 |
+
<option value="rewind" id="ctf-carouselloop" class="default-text">Rewind</option>
|
243 |
+
</select>
|
244 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
245 |
+
<p class="ctf-tooltip ctf-more-info">This is where you can set what happens when the carousel reaches the last item.</p>
|
246 |
+
</td></tr></tbody></table>
|
247 |
+
</div>
|
248 |
+
<div style="height: 18px;"></div>
|
249 |
+
<?php
|
250 |
+
}
|
251 |
|
252 |
+
function ctf_pro_autoscroll_section() {
|
253 |
+
?>
|
254 |
+
<p class="ctf_pro_section_note"><a href="https://smashballoon.com/custom-twitter-feeds/" target="_blank">Upgrade to Pro to enable Autoscroll loading</a></p>
|
255 |
+
<span><a href="javascript:void(0);" class="button button-secondary ctf-show-pro"><b>+</b> Show Pro Options</a></span>
|
256 |
+
|
257 |
+
<div class="ctf-pro-options">
|
258 |
+
<table class="form-table"><tbody><tr><th scope="row"><label for="ctf_autoscroll" title="Click for shortcode option">Set Load More on Scroll as Default</label><code class="ctf_shortcode">autoscroll
|
259 |
+
Eg: autoscroll=true</code></th><td> <input name="ctf_options[autoscroll]" id="ctf_autoscroll" type="checkbox" disabled>
|
260 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
261 |
+
<p class="ctf-tooltip ctf-more-info">This will make every Twitter feed load more Tweets as the user gets to the bottom of the feed.</p>
|
262 |
+
</td></tr><tr class="default-text"><th scope="row"><label for="ctf_autoscrolldistance">Auto Scroll Trigger Distance</label><code class="ctf_shortcode">autoscrolldistance
|
263 |
+
Eg: autoscrolldistance=2</code></th><td> <input name="ctf_options[autoscrolldistance]" id="ctf_autoscrolldistance" class="default-text" type="text" value="200" disabled>
|
264 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
265 |
+
<p class="ctf-tooltip ctf-more-info">This is the distance in pixels from the bottom of the page the user must scroll to to trigger the loading of more tweets.</p>
|
266 |
+
</td></tr></tbody></table>
|
267 |
+
</div>
|
268 |
+
<div style="height: 18px;"></div>
|
269 |
+
<?php
|
270 |
+
}
|
271 |
+
|
272 |
+
function ctf_pro_moderation_section() {
|
273 |
+
?>
|
274 |
+
<p class="ctf_pro_section_note"><a href="https://smashballoon.com/custom-twitter-feeds/" target="_blank">Upgrade to Pro to enable Tweet moderation</a></p>
|
275 |
+
<span><a href="javascript:void(0);" class="button button-secondary ctf-show-pro"><b>+</b> Show Pro Options</a></span>
|
276 |
+
|
277 |
+
<div class="ctf-pro-options">
|
278 |
+
<table class="form-table"><tbody><tr class="large-text"><th scope="row"><label for="ctf_includewords" title="Click for shortcode option">Show Tweets containing these words or hashtags</label><code class="ctf_shortcode">includewords
|
279 |
+
Eg: includewords="#puppy,#cute"</code></th><td> <input name="ctf_options[includewords]" id="ctf_includewords" class="large-text" type="text" value="" disabled>
|
280 |
+
<span>"includewords" separate words by comma</span>
|
281 |
+
</td></tr><tr class="large-text"><th scope="row"><label for="ctf_excludewords">Remove Tweets containing these words or hashtags</label><code class="ctf_shortcode">excludewords
|
282 |
+
Eg: excludewords="#ugly,#bad"</code></th><td> <input name="ctf_options[excludewords]" id="ctf_excludewords" class="large-text" type="text" value="" disabled>
|
283 |
+
<span>"excludewords" separate words by comma</span>
|
284 |
+
</td></tr><tr><th scope="row"></th><td> <p>Show Tweets that contain
|
285 |
+
<select name="ctf_options[includeanyall]" id="ctf_includeanyall" disabled>
|
286 |
+
<option value="any" selected="selected">any</option>
|
287 |
+
<option value="all">all</option>
|
288 |
+
</select>
|
289 |
+
of the "includewords"
|
290 |
+
<select name="ctf_options[filterandor]" id="ctf_filterandor" disabled>
|
291 |
+
<option value="and" selected="selected">and</option>
|
292 |
+
<option value="or">or</option>
|
293 |
+
</select>
|
294 |
+
do not contain
|
295 |
+
<select name="ctf_options[excludeanyall]" id="ctf_excludeanyall" disabled>
|
296 |
+
<option value="any" selected="selected">any</option>
|
297 |
+
<option value="all">all</option>
|
298 |
+
</select>
|
299 |
+
of the "excludewords"
|
300 |
+
</p>
|
301 |
+
</td></tr><tr><th scope="row"><label for="ctf_remove_by_id">Hide Specific Tweets</label></th><td> <textarea name="ctf_options[remove_by_id]" id="ctf_remove_by_id" style="width: 70%;" rows="3" disabled></textarea>
|
302 |
+
<p>separate IDs by comma <a class="ctf-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
303 |
+
<span class="ctf-tooltip ctf-more-info">These are the specific ID numbers associated with a tweet. You can find the ID of a Tweet by viewing the Tweet on Twitter and copy/pasting the ID number from the end of the URL.</span>
|
304 |
+
</p> </td></tr></tbody></table>
|
305 |
+
</div>
|
306 |
+
<div style="height: 18px;"></div>
|
307 |
+
<?php
|
308 |
+
}
|
309 |
|
310 |
+
add_action( 'ctf_admin_style_option', 'ctf_add_masonry_autoscroll_options', 5, 1 );
|
311 |
+
function ctf_add_masonry_autoscroll_options( $admin ) {
|
312 |
+
// custom in reply to text
|
313 |
+
$admin->create_settings_field( array(
|
314 |
+
'name' => 'inreplytotext',
|
315 |
+
'title' => '<label for="ctf_inreplytotext">Translation for "In reply to"</label><code class="ctf_shortcode">inreplytotext
|
316 |
+
Eg: inreplytotext="Als Antwort an"</code>', // label for the input field
|
317 |
+
'callback' => 'default_text', // name of the function that outputs the html
|
318 |
+
'page' => 'ctf_options_text', // matches the section name
|
319 |
+
'section' => 'ctf_options_text', // matches the section name
|
320 |
+
'option' => 'ctf_options', // matches the options name
|
321 |
+
'class' => 'default-text ctf_pro', // class for the wrapper and input field
|
322 |
+
'whatis' => 'This will replace the default text displayed for "In reply to"',
|
323 |
+
'default' => 'In reply to'// "what is this?" text
|
324 |
+
) );
|
325 |
+
add_settings_section(
|
326 |
+
'ctf_options_carousel', // matches the section name
|
327 |
+
'<span class="ctf_pro_header">Carousel</span>',
|
328 |
+
'ctf_pro_carousel_section', // callback function to explain the section
|
329 |
+
'ctf_options_carousel' // matches the section name
|
330 |
+
);
|
331 |
+
add_settings_section(
|
332 |
+
'ctf_options_masonry', // matches the section name
|
333 |
+
'<span class="ctf_pro_header">Masonry Columns</span>',
|
334 |
+
'ctf_pro_masonry_section', // callback function to explain the section
|
335 |
+
'ctf_options_masonry' // matches the section name
|
336 |
+
);
|
337 |
+
|
338 |
+
add_settings_section(
|
339 |
+
'ctf_options_autoscroll', // matches the section name
|
340 |
+
'<span class="ctf_pro_header">Autoscroll Loading</span>',
|
341 |
+
'ctf_pro_autoscroll_section', // callback function to explain the section
|
342 |
+
'ctf_options_autoscroll' // matches the section name
|
343 |
+
);
|
344 |
+
|
345 |
+
add_settings_section(
|
346 |
+
'ctf_options_filter', // matches the section name
|
347 |
+
'<span class="ctf_pro_header">Moderation</span>',
|
348 |
+
'ctf_pro_moderation_section', // callback function to explain the section
|
349 |
+
'ctf_options_filter' // matches the section name
|
350 |
+
);
|
351 |
}
|
352 |
|
353 |
add_action( 'ctf_admin_customize_option', 'ctf_add_customize_general_options', 20, 1 );
|
371 |
add_action( 'ctf_admin_customize_option', 'ctf_add_filter_options', 10, 1 );
|
372 |
function ctf_add_filter_options( $admin ) {
|
373 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
add_settings_field(
|
375 |
'clear_tc_cache_button',
|
376 |
'<label for="ctf_clear_tc_cache_button">Clear Twitter Card Cache</label>',
|
387 |
?>
|
388 |
<textarea name="<?php echo $args['option'].'['.$args['name'].']'; ?>" id="ctf_<?php echo $args['name']; ?>" style="width: 70%;" rows="3"><?php esc_attr_e( stripslashes( $option_string ) ); ?></textarea>
|
389 |
<?php if ( isset( $args['extra'] ) ) : ?><p><?php _e( $args['extra'], 'custom-twitter-feeds' ); ?>
|
390 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><span class="fa fa-question-circle" aria-hidden="true"></span></a>
|
391 |
<span class="ctf-tooltip ctf-more-info"><?php _e( $args['whatis'], 'custom-twitter-feeds' ); ?>.</span>
|
392 |
</p> <?php endif; ?>
|
393 |
<?php
|
396 |
function ctf_clear_tc_cache_button() {
|
397 |
?>
|
398 |
<input id="ctf-clear-tc-cache" class="button-secondary" style="margin-top: 1px;" type="submit" value="<?php esc_attr_e( 'Clear Twitter Cards' ); ?>" />
|
399 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><span class="fa fa-question-circle" aria-hidden="true"></span></a>
|
400 |
<p class="ctf-tooltip ctf-more-info"><?php _e( 'Clicking this button will clear all cached data for your links that have Twitter Cards', 'custom-twitter-feeds' ); ?>.</p>
|
401 |
<?php
|
402 |
}
|
426 |
of the "excludewords"
|
427 |
</p>
|
428 |
<?php if ( isset( $args['whatis'] ) ) : ?>
|
429 |
+
<a class="ctf-tooltip-link" href="JavaScript:void(0);"><span class="fa fa-question-circle" aria-hidden="true"></span></a>
|
430 |
<p class="ctf-tooltip ctf-more-info"><?php _e( $args['whatis'], 'custom-twitter-feeds' ); ?>.</p>
|
431 |
<?php endif; ?>
|
432 |
<?php
|
435 |
add_action( 'ctf_admin_add_settings_sections_to_customize', 'ctf_add_masonry_autoload_section_to_customize' );
|
436 |
function ctf_add_masonry_autoload_section_to_customize() {
|
437 |
?>
|
438 |
+
<a id="carousel"></a>
|
439 |
+
<?php do_settings_sections( 'ctf_options_carousel' ); ?>
|
440 |
+
<hr>
|
441 |
<a id="masonry"></a>
|
442 |
<?php do_settings_sections( 'ctf_options_masonry' ); ?>
|
443 |
<hr>
|
inc/notices.php
CHANGED
@@ -50,7 +50,7 @@ function ctf_rating_notice_html() {
|
|
50 |
<a class='ctf_notice_dismiss' href='" .esc_url( add_query_arg( 'ctf_ignore_rating_notice_nag', 'later' ) ). "'>Ask Me Later</a>
|
51 |
</p>
|
52 |
</div>
|
53 |
-
<a class='ctf_notice_close' href='" .esc_url( add_query_arg( 'ctf_ignore_rating_notice_nag', '1' ) ). "'><
|
54 |
</div>
|
55 |
");
|
56 |
|
50 |
<a class='ctf_notice_dismiss' href='" .esc_url( add_query_arg( 'ctf_ignore_rating_notice_nag', 'later' ) ). "'>Ask Me Later</a>
|
51 |
</p>
|
52 |
</div>
|
53 |
+
<a class='ctf_notice_close' href='" .esc_url( add_query_arg( 'ctf_ignore_rating_notice_nag', '1' ) ). "'><span class='fa fa-close'></span></a>
|
54 |
</div>
|
55 |
");
|
56 |
|
js/ctf-admin-scripts.js
CHANGED
@@ -29,8 +29,8 @@ jQuery(document).ready(function($){
|
|
29 |
just_tokens: true
|
30 |
},
|
31 |
success: function (data) {
|
32 |
-
$('#ctf_access_token').after('<span class="ctf-success"><
|
33 |
-
$('#ctf_access_token_secret').after('<span class="ctf-success"><
|
34 |
}
|
35 |
});
|
36 |
}
|
@@ -224,12 +224,12 @@ jQuery(document).ready(function($){
|
|
224 |
url : ctf.ajax_url,
|
225 |
type : 'post',
|
226 |
data : {
|
227 |
-
action : '
|
228 |
},
|
229 |
success : function(data) {
|
230 |
$ctfClearCacheButton.prop('disabled',false);
|
231 |
if(!data===false) {
|
232 |
-
$ctfClearCacheButton.after('<
|
233 |
} else {
|
234 |
$ctfClearCacheButton.after('<span>error</span>');
|
235 |
}
|
@@ -255,7 +255,7 @@ jQuery(document).ready(function($){
|
|
255 |
success : function(data) {
|
256 |
$ctfClearPersistentCacheButton.prop('disabled',false);
|
257 |
if(!data===false) {
|
258 |
-
$ctfClearPersistentCacheButton.after('<
|
259 |
} else {
|
260 |
$ctfClearPersistentCacheButton.after('<span>error</span>');
|
261 |
}
|
@@ -272,4 +272,12 @@ jQuery(document).ready(function($){
|
|
272 |
});
|
273 |
$('#ctf_include_twittercards, #ctf_include_media, #ctf_include_replied_to').attr('disabled', 'true').removeAttr('checked').next('label').css('color', '#999').after(ctfUpgradeNote);
|
274 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
});
|
29 |
just_tokens: true
|
30 |
},
|
31 |
success: function (data) {
|
32 |
+
$('#ctf_access_token').after('<span class="ctf-success"><span class="fa fa-check-circle"></span> saved</span>');
|
33 |
+
$('#ctf_access_token_secret').after('<span class="ctf-success"><span class="fa fa-check-circle"></span> saved</span>');
|
34 |
}
|
35 |
});
|
36 |
}
|
224 |
url : ctf.ajax_url,
|
225 |
type : 'post',
|
226 |
data : {
|
227 |
+
action : 'ctf_clear_cache_admin'
|
228 |
},
|
229 |
success : function(data) {
|
230 |
$ctfClearCacheButton.prop('disabled',false);
|
231 |
if(!data===false) {
|
232 |
+
$ctfClearCacheButton.after('<span id="ctf-clear-cache-success" class="fa fa-check-circle ctf-success"></span>');
|
233 |
} else {
|
234 |
$ctfClearCacheButton.after('<span>error</span>');
|
235 |
}
|
255 |
success : function(data) {
|
256 |
$ctfClearPersistentCacheButton.prop('disabled',false);
|
257 |
if(!data===false) {
|
258 |
+
$ctfClearPersistentCacheButton.after('<span id="ctf-clear-cache-success" class="fa fa-check-circle ctf-success"></span>');
|
259 |
} else {
|
260 |
$ctfClearPersistentCacheButton.after('<span>error</span>');
|
261 |
}
|
272 |
});
|
273 |
$('#ctf_include_twittercards, #ctf_include_media, #ctf_include_replied_to').attr('disabled', 'true').removeAttr('checked').next('label').css('color', '#999').after(ctfUpgradeNote);
|
274 |
|
275 |
+
$('#ctf-admin .ctf-show-pro').closest('span').next('.ctf-pro-options').hide();
|
276 |
+
$('#ctf-admin .ctf-show-pro').click(function() {
|
277 |
+
if ($(this).closest('span').next('.ctf-pro-options').is(':visible')) {
|
278 |
+
$(this).closest('span').next('.ctf-pro-options').hide();
|
279 |
+
} else {
|
280 |
+
$(this).closest('span').next('.ctf-pro-options').show();
|
281 |
+
}
|
282 |
+
});
|
283 |
});
|
uninstall.php
CHANGED
@@ -4,8 +4,8 @@ if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
|
|
4 |
}
|
5 |
|
6 |
//If the user is preserving the settings then don't delete them
|
7 |
-
$options = get_option( '
|
8 |
-
$ctf_preserve_settings = $options[ 'preserve_settings' ];
|
9 |
|
10 |
// allow the user to preserve their settings in case they are upgrading
|
11 |
if ( ! $ctf_preserve_settings ) {
|
4 |
}
|
5 |
|
6 |
//If the user is preserving the settings then don't delete them
|
7 |
+
$options = get_option( 'ctf_options' );
|
8 |
+
$ctf_preserve_settings = isset( $options[ 'preserve_settings' ] ) ? $options[ 'preserve_settings' ] : false;
|
9 |
|
10 |
// allow the user to preserve their settings in case they are upgrading
|
11 |
if ( ! $ctf_preserve_settings ) {
|
views/admin/configure.php
CHANGED
@@ -9,4 +9,4 @@ settings_errors(); ?>
|
|
9 |
<?php do_settings_sections('ctf_options_feed_settings'); // matches the section name ?>
|
10 |
<p class="submit"><input class="button-primary" type="submit" name="save" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p>
|
11 |
</form>
|
12 |
-
<p><
|
9 |
<?php do_settings_sections('ctf_options_feed_settings'); // matches the section name ?>
|
10 |
<p class="submit"><input class="button-primary" type="submit" name="save" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p>
|
11 |
</form>
|
12 |
+
<p><span class="fa fa-chevron-circle-right" aria-hidden="true"></span> <?php _e('Next Step: <a href="?page=custom-twitter-feeds&tab=customize">Customize your Feed</a>'); ?></p>
|
views/admin/customize.php
CHANGED
@@ -31,4 +31,4 @@ settings_errors(); ?>
|
|
31 |
<?php do_settings_sections('ctf_options_advanced'); // matches the section name ?>
|
32 |
<p class="submit"><input class="button-primary" type="submit" name="save" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p>
|
33 |
</form>
|
34 |
-
<p><
|
31 |
<?php do_settings_sections('ctf_options_advanced'); // matches the section name ?>
|
32 |
<p class="submit"><input class="button-primary" type="submit" name="save" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p>
|
33 |
</form>
|
34 |
+
<p><span class="fa fa-chevron-circle-right" aria-hidden="true"></span> <?php _e('<b>Next Step:</b> <a href="?page=custom-twitter-feeds&tab=style">Style your Feed</a>'); ?></p>
|
views/admin/display.php
CHANGED
@@ -243,4 +243,4 @@
|
|
243 |
|
244 |
</tbody>
|
245 |
</table>
|
246 |
-
<p><
|
243 |
|
244 |
</tbody>
|
245 |
</table>
|
246 |
+
<p><span class="fa fa-question-circle" aria-hidden="true"></span> <?php _e('Need help? <a href="?page=custom-twitter-feeds&tab=support">Get Support</a>.'); ?></p>
|
views/admin/main.php
CHANGED
@@ -33,10 +33,10 @@
|
|
33 |
}
|
34 |
?>
|
35 |
|
36 |
-
<p><
|
37 |
|
38 |
<div class="ctf-quick-start">
|
39 |
-
<h3><
|
40 |
<p><?php _e( "Copy and paste this shortcode directly into the page, post or widget where you'd like to display the feed:", "custom-twitter-feeds" ); ?>
|
41 |
<input type="text" value="[custom-twitter-feeds]" size="18" readonly="readonly" style="text-align: center;" onclick="this.focus();this.select()" title="<?php _e( 'To copy, click the field then press Ctrl + C (PC) or Cmd + C (Mac).', 'custom-twitter-feeds' ); ?>" /></p>
|
42 |
<p><?php _e( "Find out how to display <a href='?page=custom-twitter-feeds&tab=display'>multiple feeds</a>.", "custom-twitter-feeds" ); ?></p>
|
33 |
}
|
34 |
?>
|
35 |
|
36 |
+
<p><span class="fa fa-life-ring" aria-hidden="true"></span> <?php _e('Need help setting up the plugin? Check out our <a href="https://smashballoon.com/custom-twitter-feeds/free/" target="_blank">setup directions</a>', 'custom-twitter-feeds'); ?></p>
|
37 |
|
38 |
<div class="ctf-quick-start">
|
39 |
+
<h3><span class="fa fa-rocket" aria-hidden="true"></span> <?php _e( 'Display your feed', 'custom-twitter-feeds'); ?></h3>
|
40 |
<p><?php _e( "Copy and paste this shortcode directly into the page, post or widget where you'd like to display the feed:", "custom-twitter-feeds" ); ?>
|
41 |
<input type="text" value="[custom-twitter-feeds]" size="18" readonly="readonly" style="text-align: center;" onclick="this.focus();this.select()" title="<?php _e( 'To copy, click the field then press Ctrl + C (PC) or Cmd + C (Mac).', 'custom-twitter-feeds' ); ?>" /></p>
|
42 |
<p><?php _e( "Find out how to display <a href='?page=custom-twitter-feeds&tab=display'>multiple feeds</a>.", "custom-twitter-feeds" ); ?></p>
|
views/admin/style.php
CHANGED
@@ -47,4 +47,4 @@ settings_errors(); ?>
|
|
47 |
<?php do_action( 'ctf_admin_add_settings_sections_to_style' ); ?>
|
48 |
<p class="submit"><input class="button-primary" type="submit" name="save" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p>
|
49 |
</form>
|
50 |
-
<p><
|
47 |
<?php do_action( 'ctf_admin_add_settings_sections_to_style' ); ?>
|
48 |
<p class="submit"><input class="button-primary" type="submit" name="save" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p>
|
49 |
</form>
|
50 |
+
<p><span class="fa fa-chevron-circle-right" aria-hidden="true"></span> <?php _e('Next Step: <a href="?page=custom-twitter-feeds&tab=display">Display your Feed</a>'); ?></p>
|
views/admin/support.php
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<h3><?php _e( 'Need help?', 'custom-twitter-feeds' ); ?></h3>
|
2 |
|
3 |
-
<p><
|
4 |
|
5 |
-
<p><
|
6 |
|
7 |
<br />
|
8 |
-
<h3><?php _e('System Info', 'custom-twitter-feeds' ); ?> <
|
9 |
|
10 |
<textarea readonly="readonly" onclick="this.focus();this.select()" title="To copy, click the field then press Ctrl + C (PC) or Cmd + C (Mac)." style="width: 70%; height: 500px; white-space: pre; font-family: Menlo,Monaco,monospace;">
|
11 |
## SITE/SERVER INFO: ##
|
1 |
<h3><?php _e( 'Need help?', 'custom-twitter-feeds' ); ?></h3>
|
2 |
|
3 |
+
<p><span class="fa fa-life-ring" aria-hidden="true"></span> <?php _e( 'Check out our ', 'custom-twitter-feeds'); ?><a href="https://smashballoon.com/custom-twitter-feeds/docs/" target="_blank"><?php _e( 'setup directions', 'custom-twitter-feeds' ); ?></a> <?php _e( 'for a step-by-step guide on how to setup and use the plugin', 'custom-twitter-feeds' ); ?>.</p>
|
4 |
|
5 |
+
<p><span class="fa fa-envelope" aria-hidden="true"></span> <?php _e( 'Have a problem? Submit a ', 'custom-twitter-feeds' ); ?><a href="https://smashballoon.com/custom-twitter-feeds/support/" target="_blank"><?php _e( 'support ticket', 'custom-twitter-feeds' ); ?></a> <?php _e( 'on our website', 'custom-twitter-feeds' ); ?>. <?php _e( 'Please include your <b>System Info</b> below with all support requests.', 'custom-twitter-feeds' ); ?></p>
|
6 |
|
7 |
<br />
|
8 |
+
<h3><?php _e('System Info', 'custom-twitter-feeds' ); ?> <span style="color: #666; font-size: 11px; font-weight: normal;"><?php _e( 'Click the text below to select all', 'custom-twitter-feeds' ); ?></span></h3>
|
9 |
|
10 |
<textarea readonly="readonly" onclick="this.focus();this.select()" title="To copy, click the field then press Ctrl + C (PC) or Cmd + C (Mac)." style="width: 70%; height: 500px; white-space: pre; font-family: Menlo,Monaco,monospace;">
|
11 |
## SITE/SERVER INFO: ##
|