Custom Twitter Feeds - Version 1.1.1

Version Description

  • Fix: Added SSL support for avatar images so https version is used
  • Fix: Fixed an issue with the "hours" custom text string displaying the "minutes" text instead
Download this release

Release Info

Developer smashballoon
Plugin Icon 128x128 Custom Twitter Feeds
Version 1.1.1
Comparing to
See all releases

Code changes from version 1.1 to 1.1.1

README.txt CHANGED
@@ -5,7 +5,7 @@ Support Website: http://smashballoon/custom-twitter-feeds/
5
  Tags: Twitter, Twitter feed, Custom Twitter Feed, Twitter feeds, Custom Twitter Feeds, Tweets, Custom Tweets, Tweets feed, Twitter widget, Custom Twitter widget, Twitter plugin, Twitter API, Twitter tweets
6
  Requires at least: 3.0
7
  Tested up to: 4.5.2
8
- Stable tag: 1.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -33,7 +33,21 @@ We're dedicated to providing the most customizable, robust and well supported Tw
33
 
34
  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.
35
 
36
- We're currently working on a [Pro version](http://smashballoon.com/custom-twitter-feeds/ 'Custom Twitter Feeds Pro') which includes some awesome additional features! Sign up to be notified when it's released.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
38
  == Installation ==
39
  1. Install the Custom Twitter Feeds plugin either via the WordPress plugin directory, or by uploading the files to your web server (in the /wp-content/plugins/ directory).
@@ -134,6 +148,10 @@ If you're still having trouble displaying your Tweets after trying the common is
134
  2. Custom Twitter Feeds plugin Settings pages
135
 
136
  == Changelog ==
 
 
 
 
137
  = 1.1 =
138
  * New: Added a setting to translate the "Retweeted" text
139
  * Tweak: If there aren't enough Tweets to populate the feed them Ajax in more automatically
5
  Tags: Twitter, Twitter feed, Custom Twitter Feed, Twitter feeds, Custom Twitter Feeds, Tweets, Custom Tweets, Tweets feed, Twitter widget, Custom Twitter widget, Twitter plugin, Twitter API, Twitter tweets
6
  Requires at least: 3.0
7
  Tested up to: 4.5.2
8
+ Stable tag: 1.1.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
33
 
34
  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.
35
 
36
+
37
+ = Pro Version =
38
+ We recently released a [Pro version](http://smashballoon.com/custom-twitter-feeds/ 'Custom Twitter Feeds Pro') which includes some awesome additional features:
39
+
40
+ * Display Tweets from **multiple users or hashtags in the same feed**
41
+ * Display **photos**, **videos**, and **gifs** and view them in a **popup lightbox** directly on your site
42
+ * Multi-column **Masonry layout** [demo](http://smashballoon.com/custom-twitter-feeds/demo/masonry 'Custom Twitter Feeds Pro Masonry Demo')
43
+ * Allow **filtering** of user timelines include/exclude any/all keywords/hashtags
44
+ * Fully functional **search endpoint**
45
+ * Display Tweets you're mentioned in
46
+ * Tweet-specific **moderation system**
47
+ * **Twitter cards** displayed with links which support them
48
+ * Include **Tweet replies** (in reply to tweets)
49
+
50
+ Try the Pro version [demo here](http://smashballoon.com/custom-twitter-feeds/demo 'Custom Twitter Feeds Pro Demo')
51
 
52
  == Installation ==
53
  1. Install the Custom Twitter Feeds plugin either via the WordPress plugin directory, or by uploading the files to your web server (in the /wp-content/plugins/ directory).
148
  2. Custom Twitter Feeds plugin Settings pages
149
 
150
  == Changelog ==
151
+ = 1.1.1 =
152
+ * Fix: Added SSL support for avatar images so https version is used
153
+ * Fix: Fixed an issue with the "hours" custom text string displaying the "minutes" text instead
154
+
155
  = 1.1 =
156
  * New: Added a setting to translate the "Retweeted" text
157
  * Tweak: If there aren't enough Tweets to populate the feed them Ajax in more automatically
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.1
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.1' );
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=' );
@@ -158,7 +158,7 @@ function ctf_get_formatted_date( $raw_date, $feed_options, $utc_offset ) {
158
 
159
  // default format is similar to Twitter
160
  $ctf_minute = ! empty( $feed_options['mtime'] ) ? $feed_options['mtime'] : 'm';
161
- $ctf_hour = ! empty( $feed_options['mtime'] ) ? $feed_options['mtime'] : 'h';
162
  $ctf_now_str = ! empty( $feed_options['nowtime'] ) ? $feed_options['nowtime'] : 'now';
163
 
164
  $now = time() + $utc_offset;
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.1.1
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.1.1' );
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=' );
158
 
159
  // default format is similar to Twitter
160
  $ctf_minute = ! empty( $feed_options['mtime'] ) ? $feed_options['mtime'] : 'm';
161
+ $ctf_hour = ! empty( $feed_options['htime'] ) ? $feed_options['htime'] : 'h';
162
  $ctf_now_str = ! empty( $feed_options['nowtime'] ) ? $feed_options['nowtime'] : 'now';
163
 
164
  $now = time() + $utc_offset;
img/pro-notice.png CHANGED
Binary file
inc/CtfFeed.php CHANGED
@@ -660,7 +660,7 @@ class CtfFeed
660
  $trimmed_tweets[$i]['user']['name'] = $tweets[$i]['user']['name'];
661
  $trimmed_tweets[$i]['user']['screen_name'] = $tweets[$i]['user']['screen_name'];
662
  $trimmed_tweets[$i]['user']['verified'] = $tweets[$i]['user']['verified'];
663
- $trimmed_tweets[$i]['user']['profile_image_url'] = $tweets[$i]['user']['profile_image_url'];
664
  $trimmed_tweets[$i]['user']['utc_offset']= $tweets[$i]['user']['utc_offset'];
665
  $trimmed_tweets[$i]['text']= $tweets[$i]['text'];
666
  $trimmed_tweets[$i]['id_str']= $tweets[$i]['id_str'];
@@ -672,7 +672,7 @@ class CtfFeed
672
  $trimmed_tweets[$i]['retweeted_status']['user']['name'] = $tweets[$i]['retweeted_status']['user']['name'];
673
  $trimmed_tweets[$i]['retweeted_status']['user']['screen_name'] = $tweets[$i]['retweeted_status']['user']['screen_name'];
674
  $trimmed_tweets[$i]['retweeted_status']['user']['verified'] = $tweets[$i]['retweeted_status']['user']['verified'];
675
- $trimmed_tweets[$i]['retweeted_status']['user']['profile_image_url'] = $tweets[$i]['retweeted_status']['user']['profile_image_url'];
676
  $trimmed_tweets[$i]['retweeted_status']['user']['utc_offset']= $tweets[$i]['retweeted_status']['user']['utc_offset'];
677
  $trimmed_tweets[$i]['retweeted_status']['text'] = $tweets[$i]['retweeted_status']['text'];
678
  $trimmed_tweets[$i]['retweeted_status']['id_str'] = $tweets[$i]['retweeted_status']['id_str'];
@@ -685,7 +685,6 @@ class CtfFeed
685
  $trimmed_tweets[$i]['quoted_status']['user']['name'] = $tweets[$i]['quoted_status']['user']['name'];
686
  $trimmed_tweets[$i]['quoted_status']['user']['screen_name'] = $tweets[$i]['quoted_status']['user']['screen_name'];
687
  $trimmed_tweets[$i]['quoted_status']['user']['verified'] = $tweets[$i]['quoted_status']['user']['verified'];
688
- $trimmed_tweets[$i]['quoted_status']['user']['profile_image_url'] = $tweets[$i]['quoted_status']['user']['profile_image_url'];
689
  $trimmed_tweets[$i]['quoted_status']['text'] = $tweets[$i]['quoted_status']['text'];
690
  $trimmed_tweets[$i]['quoted_status']['id_str'] = $tweets[$i]['quoted_status']['id_str'];
691
  }
@@ -913,6 +912,10 @@ class CtfFeed
913
  $ctf_header_html = '';
914
  $ctf_no_bio = $feed_options['showbio'] ? '' : ' ctf-no-bio';
915
 
 
 
 
 
916
  if ( $feed_options['type'] === 'usertimeline' ) {
917
  $ctf_header_html .= '<div class="ctf-header' . $ctf_no_bio . '" style="' . $feed_options['headerbgcolor'] . '">';
918
  $ctf_header_html .= '<a href="http://twitter.com/' . $tweet_set[0]['user']['screen_name'] . '" target="_blank" title="@' . $tweet_set[0]['user']['screen_name'] . '" class="ctf-header-link">';
@@ -942,7 +945,7 @@ class CtfFeed
942
  $ctf_header_html .= '</div>';
943
  $ctf_header_html .= '<div class="ctf-header-img">';
944
  $ctf_header_html .= '<div class="ctf-header-img-hover"><i class="fa fa-twitter"></i></div>';
945
- $ctf_header_html .= '<img src="' . $tweet_set[0]['user']['profile_image_url'] . '" alt="' . $tweet_set[0]['user']['name'] . '" width="48" height="48">';
946
  $ctf_header_html .= '</div>';
947
  $ctf_header_html .= '</a>';
948
  $ctf_header_html .= '</div>';
@@ -996,6 +999,9 @@ class CtfFeed
996
  // run a check to accommodate the "search" endpoint as well
997
  $post = $tweet_set[$i];
998
 
 
 
 
999
  // save the original tweet data in case it's a retweet
1000
  $post_id = $post['id_str'];
1001
  $author = strtolower( $post['user']['screen_name'] );
@@ -1012,6 +1018,9 @@ class CtfFeed
1012
  'screen_name' => $post['user']['screen_name']
1013
  );
1014
  $post = $post['retweeted_status'];
 
 
 
1015
  $tweet_classes .= ' ctf-retweet';
1016
  } else {
1017
  unset( $retweeter );
@@ -1039,7 +1048,7 @@ class CtfFeed
1039
  $tweet_html .= '<div class="ctf-author-box-link" target="_blank" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">';
1040
  if ( ctf_show( 'avatar', $feed_options ) ) {
1041
  $tweet_html .= '<a href="https://twitter.com/' . $post['user']['screen_name'] .'" class="ctf-author-avatar" target="_blank" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">';
1042
- $tweet_html .= '<img src="' . $post['user']['profile_image_url'] . '" width="48" height="48">';
1043
  $tweet_html .= '</a>';
1044
  }
1045
 
@@ -1049,7 +1058,7 @@ class CtfFeed
1049
  $tweet_html .= '<span class="ctf-verified" ><i class="fa fa-check-circle" ></i ></span>';
1050
  }
1051
  $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>';
1052
- $tweet_html .= '<span class="ctf-screename-sep" style="' . $feed_options['datetextsize'] . $feed_options['datetextweight'] . $feed_options['textcolor'] . '">&middot;</span>';
1053
  }
1054
 
1055
  if ( ctf_show( 'date', $feed_options ) ) {
@@ -1156,7 +1165,7 @@ class CtfFeed
1156
  $error_html .= 'The error response from the Twitter API is the following:<br />';
1157
  $error_html .= '<code>Error number: ' . $this->api_obj->api_error_no . '<br />';
1158
  $error_html .= 'Message: ' . $this->api_obj->api_error_message . '</code>';
1159
- $error_html .= '<a href="https://smashballoon.com/custom-twitter-feeds/support" target="_blank">Click here to troubleshoot</a></p>';
1160
  }
1161
 
1162
  $error_html .= '</div>';
660
  $trimmed_tweets[$i]['user']['name'] = $tweets[$i]['user']['name'];
661
  $trimmed_tweets[$i]['user']['screen_name'] = $tweets[$i]['user']['screen_name'];
662
  $trimmed_tweets[$i]['user']['verified'] = $tweets[$i]['user']['verified'];
663
+ $trimmed_tweets[$i]['user']['profile_image_url_https'] = $tweets[$i]['user']['profile_image_url_https'];
664
  $trimmed_tweets[$i]['user']['utc_offset']= $tweets[$i]['user']['utc_offset'];
665
  $trimmed_tweets[$i]['text']= $tweets[$i]['text'];
666
  $trimmed_tweets[$i]['id_str']= $tweets[$i]['id_str'];
672
  $trimmed_tweets[$i]['retweeted_status']['user']['name'] = $tweets[$i]['retweeted_status']['user']['name'];
673
  $trimmed_tweets[$i]['retweeted_status']['user']['screen_name'] = $tweets[$i]['retweeted_status']['user']['screen_name'];
674
  $trimmed_tweets[$i]['retweeted_status']['user']['verified'] = $tweets[$i]['retweeted_status']['user']['verified'];
675
+ $trimmed_tweets[$i]['retweeted_status']['user']['profile_image_url_https'] = $tweets[$i]['retweeted_status']['user']['profile_image_url_https'];
676
  $trimmed_tweets[$i]['retweeted_status']['user']['utc_offset']= $tweets[$i]['retweeted_status']['user']['utc_offset'];
677
  $trimmed_tweets[$i]['retweeted_status']['text'] = $tweets[$i]['retweeted_status']['text'];
678
  $trimmed_tweets[$i]['retweeted_status']['id_str'] = $tweets[$i]['retweeted_status']['id_str'];
685
  $trimmed_tweets[$i]['quoted_status']['user']['name'] = $tweets[$i]['quoted_status']['user']['name'];
686
  $trimmed_tweets[$i]['quoted_status']['user']['screen_name'] = $tweets[$i]['quoted_status']['user']['screen_name'];
687
  $trimmed_tweets[$i]['quoted_status']['user']['verified'] = $tweets[$i]['quoted_status']['user']['verified'];
 
688
  $trimmed_tweets[$i]['quoted_status']['text'] = $tweets[$i]['quoted_status']['text'];
689
  $trimmed_tweets[$i]['quoted_status']['id_str'] = $tweets[$i]['quoted_status']['id_str'];
690
  }
912
  $ctf_header_html = '';
913
  $ctf_no_bio = $feed_options['showbio'] ? '' : ' ctf-no-bio';
914
 
915
+ // temporary workaround for cached http images
916
+ $tweet_set[0]['user']['profile_image_url_https'] = isset( $tweet_set[0]['user']['profile_image_url_https'] ) ? $tweet_set[0]['user']['profile_image_url_https'] : $tweet_set[0]['user']['profile_image_url'];
917
+
918
+
919
  if ( $feed_options['type'] === 'usertimeline' ) {
920
  $ctf_header_html .= '<div class="ctf-header' . $ctf_no_bio . '" style="' . $feed_options['headerbgcolor'] . '">';
921
  $ctf_header_html .= '<a href="http://twitter.com/' . $tweet_set[0]['user']['screen_name'] . '" target="_blank" title="@' . $tweet_set[0]['user']['screen_name'] . '" class="ctf-header-link">';
945
  $ctf_header_html .= '</div>';
946
  $ctf_header_html .= '<div class="ctf-header-img">';
947
  $ctf_header_html .= '<div class="ctf-header-img-hover"><i class="fa fa-twitter"></i></div>';
948
+ $ctf_header_html .= '<img src="' . $tweet_set[0]['user']['profile_image_url_https'] . '" alt="' . $tweet_set[0]['user']['name'] . '" width="48" height="48">';
949
  $ctf_header_html .= '</div>';
950
  $ctf_header_html .= '</a>';
951
  $ctf_header_html .= '</div>';
999
  // run a check to accommodate the "search" endpoint as well
1000
  $post = $tweet_set[$i];
1001
 
1002
+ // temporary workaround for cached http images
1003
+ $post['user']['profile_image_url_https'] = isset( $post['user']['profile_image_url_https'] ) ? $post['user']['profile_image_url_https'] : $post['user']['profile_image_url'];
1004
+
1005
  // save the original tweet data in case it's a retweet
1006
  $post_id = $post['id_str'];
1007
  $author = strtolower( $post['user']['screen_name'] );
1018
  'screen_name' => $post['user']['screen_name']
1019
  );
1020
  $post = $post['retweeted_status'];
1021
+
1022
+ // temporary workaround for cached http images
1023
+ $post['user']['profile_image_url_https'] = isset( $post['user']['profile_image_url_https'] ) ? $post['user']['profile_image_url_https'] : $post['user']['profile_image_url'];
1024
  $tweet_classes .= ' ctf-retweet';
1025
  } else {
1026
  unset( $retweeter );
1048
  $tweet_html .= '<div class="ctf-author-box-link" target="_blank" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">';
1049
  if ( ctf_show( 'avatar', $feed_options ) ) {
1050
  $tweet_html .= '<a href="https://twitter.com/' . $post['user']['screen_name'] .'" class="ctf-author-avatar" target="_blank" style="' . $feed_options['authortextsize'] . $feed_options['authortextweight'] . $feed_options['textcolor'] . '">';
1051
+ $tweet_html .= '<img src="' . $post['user']['profile_image_url_https'] . '" width="48" height="48">';
1052
  $tweet_html .= '</a>';
1053
  }
1054
 
1058
  $tweet_html .= '<span class="ctf-verified" ><i class="fa fa-check-circle" ></i ></span>';
1059
  }
1060
  $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>';
1061
+ $tweet_html .= '<span class="ctf-screename-sep">&middot;</span>';
1062
  }
1063
 
1064
  if ( ctf_show( 'date', $feed_options ) ) {
1165
  $error_html .= 'The error response from the Twitter API is the following:<br />';
1166
  $error_html .= '<code>Error number: ' . $this->api_obj->api_error_no . '<br />';
1167
  $error_html .= 'Message: ' . $this->api_obj->api_error_message . '</code>';
1168
+ $error_html .= '<a href="https://smashballoon.com/custom-twitter-feeds/docs/errors/" target="_blank">Click here to troubleshoot</a></p>';
1169
  }
1170
 
1171
  $error_html .= '</div>';
inc/admin-hooks.php CHANGED
@@ -51,7 +51,7 @@ function ctf_return_feed_types( $val ) {
51
  add_action( 'ctf_admin_upgrade_note', 'ctf_update_note' );
52
  function ctf_update_note() {
53
  ?>
54
- <span class="ctf_note"> - <a href="https://smashballoon.com/custom-twitter-feeds/" target="_blank">Pro version coming soon</a></span>
55
  <?php
56
  }
57
 
@@ -60,7 +60,7 @@ function ctf_usertimeline_error_message( $args )
60
  { //sbi_notice sbi_user_id_error
61
  if ( $args['name'] == 'usertimeline') : ?>
62
  <div class="ctf_notice ctf_usertimeline_error">
63
- <?php _e( "<p>Please use a single screenname or Twitter handle of numbers and letters. If you would like to use more than one screen name for your feed, please upgrade to our <a href='https://smashballoon.com/custom-twitter-feeds/' target='_blank'>Pro version</a> (coming soon).</p>" ); ?>
64
  </div>
65
  <?php endif;
66
  }
@@ -69,7 +69,29 @@ add_action( 'ctf_admin_feed_settings_search_extra', 'ctf_hashtag_error_message'
69
  function ctf_hashtag_error_message() {
70
  ?>
71
  <div class="ctf_notice ctf_search_error">
72
- <?php _e( "<p>Please use a single hashtag of numbers and letters. If you would like to use more than one hashtag or use search terms for your feed, please upgrade to our <a href='https://smashballoon.com/custom-twitter-feeds/' target='_blank'>Pro version</a> (coming soon).</p>" ); ?>
73
  </div>
74
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  }
51
  add_action( 'ctf_admin_upgrade_note', 'ctf_update_note' );
52
  function ctf_update_note() {
53
  ?>
54
+ <span class="ctf_note"> - <a href="https://smashballoon.com/custom-twitter-feeds/" target="_blank">Available in Pro version</a></span>
55
  <?php
56
  }
57
 
60
  { //sbi_notice sbi_user_id_error
61
  if ( $args['name'] == 'usertimeline') : ?>
62
  <div class="ctf_notice ctf_usertimeline_error">
63
+ <?php _e( "<p>Please use a single screenname or Twitter handle of numbers and letters. If you would like to use more than one screen name for your feed, please upgrade to our <a href='https://smashballoon.com/custom-twitter-feeds/' target='_blank'>Available in Pro version</a>.</p>" ); ?>
64
  </div>
65
  <?php endif;
66
  }
69
  function ctf_hashtag_error_message() {
70
  ?>
71
  <div class="ctf_notice ctf_search_error">
72
+ <?php _e( "<p>Please use a single hashtag of numbers and letters. If you would like to use more than one hashtag or use search terms for your feed, please upgrade to our <a href='https://smashballoon.com/custom-twitter-feeds/' target='_blank'>Available Pro version</a>.</p>" ); ?>
73
  </div>
74
  <?php
75
+ }
76
+
77
+ add_filter( 'ctf_admin_customize_quick_links', 'ctf_return_customize_quick_links' );
78
+ function ctf_return_customize_quick_links() {
79
+ return array(
80
+ 0 => array( 'general', 'General' ),
81
+ 1 => array( 'showhide', 'Show/Hide' ),
82
+ 2 => array( 'date', 'Date' ),
83
+ 3 => array( 'links', 'Links' ),
84
+ 4 => array( 'misc', 'Misc' ),
85
+ 5 => array( 'advanced', 'Advanced' )
86
+ );
87
+ }
88
+
89
+ add_filter( 'ctf_admin_style_quick_links', 'ctf_return_style_quick_links' );
90
+ function ctf_return_style_quick_links() {
91
+ return array(
92
+ 0 => array( 'general', 'General' ),
93
+ 1 => array( 'header', 'Header' ),
94
+ 2 => array( 'type', 'Type' ),
95
+ 3 => array( 'load', 'Load More' )
96
+ );
97
  }
views/admin/customize.php CHANGED
@@ -2,12 +2,14 @@
2
  settings_errors(); ?>
3
  <p class="ctf-contents-links" id="general">
4
  <span>Quick links: </span>
5
- <a href="#general">General</a>
6
- <a href="#showhide">Show/Hide</a>
7
- <a href="#date">Date</a>
8
- <a href="#links">Links</a>
9
- <a href="#misc">Misc</a>
10
- <a href="#advanced">Advanced</a>
 
 
11
  </p>
12
  <form method="post" action="options.php">
13
  <?php settings_fields( 'ctf_customize' ); // matches the options name ?>
@@ -24,6 +26,7 @@ settings_errors(); ?>
24
  <?php do_settings_sections( 'ctf_customize_links' ); // matches the section name ?>
25
  <p class="submit"><input class="button-primary" type="submit" name="save" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p>
26
  <hr>
 
27
  <a id="misc"></a>
28
  <?php do_settings_sections( 'ctf_customize_misc' ); // matches the section name ?>
29
  <hr>
2
  settings_errors(); ?>
3
  <p class="ctf-contents-links" id="general">
4
  <span>Quick links: </span>
5
+ <?php
6
+ $quick_links = array();
7
+ $quick_links = apply_filters( 'ctf_admin_customize_quick_links', $quick_links );
8
+
9
+ foreach ( $quick_links as $quick_link ) {
10
+ echo '<a href="#' . $quick_link[0] . '">' . $quick_link[1] . '</a>';
11
+ }
12
+ ?>
13
  </p>
14
  <form method="post" action="options.php">
15
  <?php settings_fields( 'ctf_customize' ); // matches the options name ?>
26
  <?php do_settings_sections( 'ctf_customize_links' ); // matches the section name ?>
27
  <p class="submit"><input class="button-primary" type="submit" name="save" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p>
28
  <hr>
29
+ <?php do_action( 'ctf_admin_add_settings_sections_to_customize' ); ?>
30
  <a id="misc"></a>
31
  <?php do_settings_sections( 'ctf_customize_misc' ); // matches the section name ?>
32
  <hr>
views/admin/style.php CHANGED
@@ -2,10 +2,14 @@
2
  settings_errors(); ?>
3
  <p class="ctf-contents-links" id="general">
4
  <span>Quick links: </span>
5
- <a href="#general">General</a>
6
- <a href="#header">Header</a>
7
- <a href="#type">Type</a>
8
- <a href="#load">Load More</a>
 
 
 
 
9
  </p>
10
  <form method="post" action="options.php">
11
  <?php settings_fields( 'ctf_style' ); // matches the options name ?>
@@ -13,6 +17,7 @@ settings_errors(); ?>
13
  <hr>
14
  <a id="header"></a>
15
  <?php do_settings_sections( 'ctf_style_header' ); // matches the section name ?>
 
16
  <hr>
17
  <a id="type"></a>
18
  <?php do_settings_sections( 'ctf_style_type' ); // matches the section name ?>
2
  settings_errors(); ?>
3
  <p class="ctf-contents-links" id="general">
4
  <span>Quick links: </span>
5
+ <?php
6
+ $quick_links = array();
7
+ $quick_links = apply_filters( 'ctf_admin_style_quick_links', $quick_links );
8
+
9
+ foreach ( $quick_links as $quick_link ) {
10
+ echo '<a href="#' . $quick_link[0] . '">' . $quick_link[1] . '</a>';
11
+ }
12
+ ?>
13
  </p>
14
  <form method="post" action="options.php">
15
  <?php settings_fields( 'ctf_style' ); // matches the options name ?>
17
  <hr>
18
  <a id="header"></a>
19
  <?php do_settings_sections( 'ctf_style_header' ); // matches the section name ?>
20
+ <p class="submit"><input class="button-primary" type="submit" name="save" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p>
21
  <hr>
22
  <a id="type"></a>
23
  <?php do_settings_sections( 'ctf_style_type' ); // matches the section name ?>
views/admin/support.php CHANGED
@@ -9,7 +9,7 @@
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: ##
12
- Plugin Version: <?php echo CTF_TITLE . ' v' . CTFVER . "\n"; ?>
13
  Site URL: <?php echo site_url() . "\n"; ?>
14
  Home URL: <?php echo home_url() . "\n"; ?>
15
  WordPress Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>
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: ##
12
+ Plugin Version: <?php echo CTF_TITLE . ' v' . CTF_VERSION . "\n"; ?>
13
  Site URL: <?php echo site_url() . "\n"; ?>
14
  Home URL: <?php echo home_url() . "\n"; ?>
15
  WordPress Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>