Feed Them Social – Facebook, Instagram, Twitter, YouTube, Pinterest - Version 2.8.4

Version Description

Download this release

Release Info

Developer slickremix
Plugin Icon 128x128 Feed Them Social – Facebook, Instagram, Twitter, YouTube, Pinterest
Version 2.8.4
Comparing to
See all releases

Code changes from version 2.8.3.4 to 2.8.4

feed-them.php CHANGED
@@ -7,18 +7,18 @@
7
  * Plugin Name: Feed Them Social - for Twitter feed, Youtube, Pinterest and more
8
  * Plugin URI: https://feedthemsocial.com/
9
  * Description: Display a Custom Facebook feed, Instagram feed, Twitter feed, Pinterest feed & YouTube feed on pages, posts or widgets.
10
- * Version: 2.8.3.4
11
  * Author: SlickRemix
12
  * Author URI: https://www.slickremix.com/
13
  * Text Domain: feed-them-social
14
  * Domain Path: /languages
15
  * Requires at least: WordPress 4.0.0
16
- * Tested up to: WordPress 5.4.1
17
- * Stable tag: 2.8.3.4
18
  * License: GPLv2 or later
19
  * License URI: https://www.gnu.org/licenses/gpl-3.0.html
20
  *
21
- * @version 2.8.3.4
22
  * @package FeedThemSocial/Core
23
  * @copyright Copyright (c) 2012-2020 SlickRemix
24
  *
@@ -31,7 +31,7 @@
31
  *
32
  * Makes sure any js or css changes are reloaded properly. Added to enqued css and js files throughout!
33
  */
34
- define( 'FTS_CURRENT_VERSION', '2.8.3.4' );
35
 
36
  define( 'FEED_THEM_SOCIAL_NOTICE_STATUS', get_option( 'rating_fts_slick_notice', false ) );
37
 
7
  * Plugin Name: Feed Them Social - for Twitter feed, Youtube, Pinterest and more
8
  * Plugin URI: https://feedthemsocial.com/
9
  * Description: Display a Custom Facebook feed, Instagram feed, Twitter feed, Pinterest feed & YouTube feed on pages, posts or widgets.
10
+ * Version: 2.8.4
11
  * Author: SlickRemix
12
  * Author URI: https://www.slickremix.com/
13
  * Text Domain: feed-them-social
14
  * Domain Path: /languages
15
  * Requires at least: WordPress 4.0.0
16
+ * Tested up to: WordPress 5.4.2
17
+ * Stable tag: 2.8.4
18
  * License: GPLv2 or later
19
  * License URI: https://www.gnu.org/licenses/gpl-3.0.html
20
  *
21
+ * @version 2.8.4
22
  * @package FeedThemSocial/Core
23
  * @copyright Copyright (c) 2012-2020 SlickRemix
24
  *
31
  *
32
  * Makes sure any js or css changes are reloaded properly. Added to enqued css and js files throughout!
33
  */
34
+ define( 'FTS_CURRENT_VERSION', '2.8.4' );
35
 
36
  define( 'FEED_THEM_SOCIAL_NOTICE_STATUS', get_option( 'rating_fts_slick_notice', false ) );
37
 
feeds/facebook/class-fts-facebook-feed-post-types.php CHANGED
@@ -76,7 +76,7 @@ class FTS_Facebook_Feed_Post_Types extends FTS_Facebook_Feed {
76
  $fb_post_comments_count_array = isset( $post_data->comments->data ) ? $post_data->comments->data : '';
77
  $fb_post_object_id = isset( $post_data->object_id ) ? $post_data->object_id : '';
78
  $fb_album_photo_count = isset( $post_data->count ) ? $post_data->count : '';
79
- $fb_album_cover = isset( $post_data->cover_photo->id ) ? $post_data->cover_photo->id : '';
80
  $fb_album_picture = isset( $post_data->source ) ? $post_data->source : '';
81
  $fb_places_name = isset( $post_data->place->name ) ? $post_data->place->name : '';
82
  $fb_places_id = isset( $post_data->place->id ) ? $post_data->place->id : '';
@@ -156,8 +156,9 @@ class FTS_Facebook_Feed_Post_Types extends FTS_Facebook_Feed {
156
  $fb_video = isset( $post_data->embed_html ) ? $post_data->embed_html : '';
157
  $fb_video_picture = isset( $post_data->format[2]->picture ) ? $post_data->format[2]->picture : '';
158
 
 
159
  if ( $fb_album_cover ) {
160
- $photo_data = json_decode( $response_post_array[ $fb_album_cover . '_photo' ] );
161
  }
162
  if ( isset( $post_data->id ) ) {
163
  $fb_post_id = $post_data->id;
@@ -410,7 +411,7 @@ class FTS_Facebook_Feed_Post_Types extends FTS_Facebook_Feed {
410
  echo '<div class="fts-fb-caption fts-fb-album-view-link">';
411
  // Album Covers.
412
  if ( 'albums' === $fb_shortcode['type'] ) {
413
- echo '<a href="' . esc_url( 'https://graph.facebook.com/' . $fb_album_cover . '/picture' ) . '" class="fts-view-album-photos-large" target="_blank">' . esc_html( 'View photo', 'feed-them-social' ) . '</a></div>';
414
  } elseif (
415
  // Album Photos.
416
  'album_photos' === $fb_shortcode['type'] && ( isset( $fb_shortcode['video_album'] ) && 'yes' !== $fb_shortcode['video_album'] || ! isset( $fb_shortcode['video_album'] ) ) ) {
@@ -594,11 +595,13 @@ class FTS_Facebook_Feed_Post_Types extends FTS_Facebook_Feed {
594
  case 'link':
595
  echo '<div class="fts-jal-fb-link-wrap">';
596
  // start url check.
597
- $url = $fb_link;
598
- $url_parts = parse_url( $url );
599
- $host = $url_parts['host'];
 
 
600
 
601
- if ( 'www.facebook.com' === $host ) {
602
  $spliturl = $url_parts['path'];
603
  $path_components = explode( '/', $spliturl );
604
  $first_dir = $path_components[1];
@@ -606,7 +609,7 @@ class FTS_Facebook_Feed_Post_Types extends FTS_Facebook_Feed {
606
  // end url check.
607
  // Output Link Picture.
608
  // echo isset($fb_shortcode['popup']) && $fb_shortcode['popup'] == 'yes' ? '<div class="fts-fb-caption"><a href="' . $fb_link . '" class="fts-view-on-facebook-link" target="_blank">' . esc_html('View on Facebook', 'feed-them-social') . '</a></div> ' : '';.
609
- if ( 'www.facebook.com' === $host && 'events' === $first_dir ) {
610
  $fb_picture ? $this->fts_facebook_post_photo( $fb_link, $fb_shortcode, $post_data->from->name, $post_data->picture ) : '';
611
  } elseif ( strpos( $fb_link, 'soundcloud' ) > 0 ) {
612
  // Get the SoundCloud URL.
@@ -653,7 +656,7 @@ class FTS_Facebook_Feed_Post_Types extends FTS_Facebook_Feed {
653
  echo '<div class="fts-jal-fb-description-wrap">';
654
  // Output Link Name.
655
  $fb_name ? $this->fts_facebook_post_name( $fb_link, $fb_name, $fb_type ) : '';
656
- if ( 'www.facebook.com' === $host && 'events' === $first_dir ) {
657
  echo ' &#9658; ';
658
  echo '<a href="' . esc_url( $fb_link ) . '" class="fts-jal-fb-name" target="_blank">' . esc_html( $fb_link_event_name ) . '</a>';
659
  }//end if event.
@@ -987,9 +990,9 @@ class FTS_Facebook_Feed_Post_Types extends FTS_Facebook_Feed {
987
  }
988
  echo '>';
989
 
990
- // echo '<pre>rrr';.
991
- // print_r($fb_album_cover);.
992
- // echo '</pre>';.
993
  // Output Photo Picture.
994
  $this->fts_facebook_post_photo( $fb_link, $fb_shortcode, $post_data->from->name, $fb_album_cover );
995
  echo '<div class="slicker-facebook-album-photoshadow"></div>';
76
  $fb_post_comments_count_array = isset( $post_data->comments->data ) ? $post_data->comments->data : '';
77
  $fb_post_object_id = isset( $post_data->object_id ) ? $post_data->object_id : '';
78
  $fb_album_photo_count = isset( $post_data->count ) ? $post_data->count : '';
79
+ $fb_album_cover = isset( $post_data->photos->data[0]->images[0]->source ) ? $post_data->photos->data[0]->images[0]->source : '';
80
  $fb_album_picture = isset( $post_data->source ) ? $post_data->source : '';
81
  $fb_places_name = isset( $post_data->place->name ) ? $post_data->place->name : '';
82
  $fb_places_id = isset( $post_data->place->id ) ? $post_data->place->id : '';
156
  $fb_video = isset( $post_data->embed_html ) ? $post_data->embed_html : '';
157
  $fb_video_picture = isset( $post_data->format[2]->picture ) ? $post_data->format[2]->picture : '';
158
 
159
+
160
  if ( $fb_album_cover ) {
161
+ // $photo_data = json_decode( $response_post_array[ $fb_album_cover . '_photo' ] );
162
  }
163
  if ( isset( $post_data->id ) ) {
164
  $fb_post_id = $post_data->id;
411
  echo '<div class="fts-fb-caption fts-fb-album-view-link">';
412
  // Album Covers.
413
  if ( 'albums' === $fb_shortcode['type'] ) {
414
+ echo '<a href="' . esc_url( $fb_album_cover ) . '" class="fts-view-album-photos-large" target="_blank">' . esc_html( 'View photo', 'feed-them-social' ) . '</a></div>';
415
  } elseif (
416
  // Album Photos.
417
  'album_photos' === $fb_shortcode['type'] && ( isset( $fb_shortcode['video_album'] ) && 'yes' !== $fb_shortcode['video_album'] || ! isset( $fb_shortcode['video_album'] ) ) ) {
595
  case 'link':
596
  echo '<div class="fts-jal-fb-link-wrap">';
597
  // start url check.
598
+ if (!empty( $fb_link )) {
599
+ $url = $fb_link;
600
+ $url_parts = parse_url( $url );
601
+ $host = $url_parts['host'];
602
+ }
603
 
604
+ if ( isset( $host ) && 'www.facebook.com' === $host ) {
605
  $spliturl = $url_parts['path'];
606
  $path_components = explode( '/', $spliturl );
607
  $first_dir = $path_components[1];
609
  // end url check.
610
  // Output Link Picture.
611
  // echo isset($fb_shortcode['popup']) && $fb_shortcode['popup'] == 'yes' ? '<div class="fts-fb-caption"><a href="' . $fb_link . '" class="fts-view-on-facebook-link" target="_blank">' . esc_html('View on Facebook', 'feed-them-social') . '</a></div> ' : '';.
612
+ if ( isset( $host ) && 'www.facebook.com' === $host && 'events' === $first_dir ) {
613
  $fb_picture ? $this->fts_facebook_post_photo( $fb_link, $fb_shortcode, $post_data->from->name, $post_data->picture ) : '';
614
  } elseif ( strpos( $fb_link, 'soundcloud' ) > 0 ) {
615
  // Get the SoundCloud URL.
656
  echo '<div class="fts-jal-fb-description-wrap">';
657
  // Output Link Name.
658
  $fb_name ? $this->fts_facebook_post_name( $fb_link, $fb_name, $fb_type ) : '';
659
+ if ( isset( $host ) && 'www.facebook.com' === $host && 'events' === $first_dir ) {
660
  echo ' &#9658; ';
661
  echo '<a href="' . esc_url( $fb_link ) . '" class="fts-jal-fb-name" target="_blank">' . esc_html( $fb_link_event_name ) . '</a>';
662
  }//end if event.
990
  }
991
  echo '>';
992
 
993
+ // echo '<pre>rrr';
994
+ // print_r($fb_album_cover);
995
+ // echo '</pre>';
996
  // Output Photo Picture.
997
  $this->fts_facebook_post_photo( $fb_link, $fb_shortcode, $post_data->from->name, $fb_album_cover );
998
  echo '<div class="slicker-facebook-album-photoshadow"></div>';
feeds/facebook/class-fts-facebook-feed.php CHANGED
@@ -647,7 +647,7 @@ style="margin:' . ( isset( $fb_shortcode['slider_margin'] ) && '' !== $fb_shortc
647
  // echo '<br/><br/>feed array<br/><br/>';.
648
  // echo '<pre>';
649
  // print_r($feed_data );
650
- // echo '</pre>';
651
  // THE MAIN FEED
652
  // LOOP to fix Post count!
653
  foreach ( $feed_data->data as $k => $v ) {
@@ -876,11 +876,7 @@ style="margin:' . ( isset( $fb_shortcode['slider_margin'] ) && '' !== $fb_shortc
876
  public function fts_facebook_post_photo( $fb_link, $fb_shortcode, $photo_from, $photo_source ) {
877
  if ( 'album_photos' === $fb_shortcode['type'] || 'albums' === $fb_shortcode['type'] ) {
878
  echo '<a href="' . esc_url( $fb_link ) . '" target="_blank" class="fts-jal-fb-picture album-photo-fts" style="width:' . esc_attr( $fb_shortcode['image_width'] . ';height:' . $fb_shortcode['image_height'] ) . ';';
879
- if ( 'albums' === $fb_shortcode['type'] ) {
880
- echo 'background-image:url(' . esc_url( 'https://graph.facebook.com/' . $photo_source . '/picture' ) . ');">';
881
- } else {
882
- echo 'background-image:url(' . esc_url( $photo_source ) . ');">';
883
- }
884
  echo '</a>';
885
  } else {
886
  $fb_shortcode_popup = isset( $fb_shortcode['popup'] ) ? $fb_shortcode['popup'] : '';
@@ -1638,9 +1634,9 @@ style="margin:' . ( isset( $fb_shortcode['slider_margin'] ) && '' !== $fb_shortc
1638
  }
1639
  // Check If Ajax next URL needs to be used.
1640
  if ( ! $fts_count_ids >= 1 ) {
1641
- $mulit_data['feed_data'] = isset( $_REQUEST['next_url'] ) ? esc_url_raw( $_REQUEST['next_url'] ) : esc_url_raw( 'https://graph.facebook.com/' . $fb_shortcode['id'] . '/albums?fields=id,photos,created_time,name,from,link,cover_photo,count,updated_time,type&limit=' . $fb_shortcode['posts'] . '&access_token=' . $access_token . $language . '' );
1642
  } else {
1643
- $mulit_data['feed_data'] = isset( $_REQUEST['next_url'] ) ? esc_url_raw( $_REQUEST['next_url'] ) : esc_url_raw( 'https://graph.facebook.com/albums?ids=' . $fb_shortcode['id'] . '&fields=id,photos,created_time,name,from,link,cover_photo,count,updated_time,type&limit=' . $fb_shortcode['posts'] . '&access_token=' . $access_token . $language . '' );
1644
  }
1645
 
1646
  // $mulit_data['feed_data'] = isset($_REQUEST['next_url']) ? esc_url_raw($_REQUEST['next_url']) : 'https://graph.facebook.com/' . $fb_shortcode['id'] . '/albums?fields=id,created_time,name,from,link,cover_photo,count,updated_time,type&limit=' . $fb_shortcode['posts'] . '&access_token=' . $access_token . $language . '';
647
  // echo '<br/><br/>feed array<br/><br/>';.
648
  // echo '<pre>';
649
  // print_r($feed_data );
650
+ // echo '</pre>';.
651
  // THE MAIN FEED
652
  // LOOP to fix Post count!
653
  foreach ( $feed_data->data as $k => $v ) {
876
  public function fts_facebook_post_photo( $fb_link, $fb_shortcode, $photo_from, $photo_source ) {
877
  if ( 'album_photos' === $fb_shortcode['type'] || 'albums' === $fb_shortcode['type'] ) {
878
  echo '<a href="' . esc_url( $fb_link ) . '" target="_blank" class="fts-jal-fb-picture album-photo-fts" style="width:' . esc_attr( $fb_shortcode['image_width'] . ';height:' . $fb_shortcode['image_height'] ) . ';';
879
+ echo 'background-image:url(' . esc_url( $photo_source ) . ');">';
 
 
 
 
880
  echo '</a>';
881
  } else {
882
  $fb_shortcode_popup = isset( $fb_shortcode['popup'] ) ? $fb_shortcode['popup'] : '';
1634
  }
1635
  // Check If Ajax next URL needs to be used.
1636
  if ( ! $fts_count_ids >= 1 ) {
1637
+ $mulit_data['feed_data'] = isset( $_REQUEST['next_url'] ) ? esc_url_raw( $_REQUEST['next_url'] ) : wp_unslash( 'https://graph.facebook.com/' . $fb_shortcode['id'] . '/albums?fields=id,photos{images},created_time,name,from,link,cover_photo,count,updated_time,type&limit=' . $fb_shortcode['posts'] . '&access_token=' . $access_token . $language . '' ) ;
1638
  } else {
1639
+ $mulit_data['feed_data'] = isset( $_REQUEST['next_url'] ) ? esc_url_raw( $_REQUEST['next_url'] ) : wp_unslash( 'https://graph.facebook.com/albums?ids=' . $fb_shortcode['id'] . '&fields=id,photos{images},created_time,name,from,link,cover_photo,count,updated_time,type&limit=' . $fb_shortcode['posts'] . '&access_token=' . $access_token . $language . '' );
1640
  }
1641
 
1642
  // $mulit_data['feed_data'] = isset($_REQUEST['next_url']) ? esc_url_raw($_REQUEST['next_url']) : 'https://graph.facebook.com/' . $fb_shortcode['id'] . '/albums?fields=id,created_time,name,from,link,cover_photo,count,updated_time,type&limit=' . $fb_shortcode['posts'] . '&access_token=' . $access_token . $language . '';
feeds/instagram/class-fts-instagram-feed.php CHANGED
@@ -41,9 +41,9 @@ class FTS_Instagram_Feed extends feed_them_social_functions {
41
  */
42
  public function convert_instagram_description_links( $bio ) {
43
  // Create links from @mentions and regular links.
44
- $bio = preg_replace( '~https?://[^<>\s]+~i', '<a href="$0" target="_blank">$0</a>', $bio );
45
- $bio = preg_replace( '/#+(\w+)/u', '<a href="https://www.instagram.com/explore/tags/$1" target="_blank">$0</a>', $bio );
46
- $bio = preg_replace( '/@+(\w+)/u', '<a href="https://www.instagram.com/$1" target="_blank">@$1</a>', $bio );
47
 
48
  return $bio;
49
  }
@@ -59,9 +59,9 @@ class FTS_Instagram_Feed extends feed_them_social_functions {
59
  */
60
  public function convert_instagram_links( $instagram_caption_a_title ) {
61
  // Create links from @mentions, #hashtags and regular links.
62
- $instagram_caption_a_title = preg_replace( '~https?://[^<>\s]+~i', '<a href="$0" target="_blank">$0</a>', $instagram_caption_a_title );
63
- $instagram_caption = preg_replace( '/#+(\w+)/u', '<a href="https://www.instagram.com/explore/tags/$1" target="_blank">$0</a>', $instagram_caption_a_title );
64
- $instagram_caption = preg_replace( '/@+(\w+)/u', '<a href="https://www.instagram.com/$1" target="_blank">@$1</a>', $instagram_caption );
65
 
66
  return $instagram_caption;
67
  }
@@ -263,7 +263,7 @@ class FTS_Instagram_Feed extends feed_them_social_functions {
263
  * @since 1.9.6
264
  */
265
  public function fts_view_on_instagram_link( $post_data ) {
266
- return '<a href="' . esc_url( $this->fts_view_on_instagram_url( $post_data ) ) . '" class="fts-view-on-instagram-link" target="_blank">' . esc_html( 'View on Instagram', 'feed-them-social' ) . '</a>';
267
  }
268
 
269
  /**
@@ -669,7 +669,7 @@ class FTS_Instagram_Feed extends feed_them_social_functions {
669
  <div class="fts-profile-wrap">
670
  <?php if ( isset( $profile_photo ) && 'yes' === $profile_photo ) { ?>
671
  <div class="fts-profile-pic">
672
- <a href="https://www.instagram.com/<?php echo esc_attr( $username ); ?>" target="_blank"><img
673
  src="<?php echo esc_url( $profile_picture ); ?>" title="<?php echo esc_attr( $username ); ?>"/></a>
674
  </div>
675
  <?php
@@ -889,7 +889,7 @@ if ( isset( $profile_description, $type ) && 'yes' === $profile_description &&
889
  ?>
890
  <div class="fts-instagram-popup-profile-wrap">
891
  <div class="fts-profile-pic"><?php $user_type = isset( $type ) && 'hashtag' === $type ? 'explore/tags/' . $hashtag : $username; ?>
892
- <a href="https://www.instagram.com/<?php echo esc_html( $user_type ); ?>" target="_blank">
893
  <?php
894
  if ( 'user' === $type || 'business' === $type ) {
895
  ?>
@@ -903,7 +903,7 @@ if ( isset( $profile_description, $type ) && 'yes' === $profile_description &&
903
  <div class="fts-profile-name-wrap">
904
 
905
  <div class="fts-isnta-full-name">
906
- <a href="https://www.instagram.com/<?php echo esc_html( $user_type ); ?>" target="_blank" style="color: #000;">
907
  <?php
908
  if ( 'user' === $type ) {
909
  echo esc_html( $full_name );
@@ -962,7 +962,7 @@ if ( isset( $profile_description, $type ) && 'yes' === $profile_description &&
962
  }
963
  $fts_child = isset( $post_data->children ) || isset( $post_data->carousel_media ) ? 'fts-child-media ' : '';
964
  ?>
965
- ' title='<?php print esc_attr( $instagram_caption_a_title ); ?>' target="_blank" class='<?php print $fts_child; ?>fts-instagram-link-target fts-slicker-backg
966
  <?php
967
  if ( $data_type_video === $data_type && isset( $popup ) && 'yes' === $popup && ! empty( $this->fts_instagram_video_link( $post_data ) ) || ! empty( $data_type_child ) && 'VIDEO' === $data_type_child && isset( $popup ) && 'yes' === $popup && ! empty( $this->fts_instagram_video_link( $post_data ) ) ) {
968
  ?>
@@ -1006,7 +1006,7 @@ if ( isset( $profile_description, $type ) && 'yes' === $profile_description &&
1006
 
1007
  }
1008
  ?>
1009
- ' title='<?php print esc_attr( $instagram_caption_a_title ); ?>' target="_blank" id="fts-child-media" class='fts-child-media fts-child-media-hide fts-instagram-link-target fts-slicker-backg
1010
  <?php
1011
  if ( 'video_media' === $data_type_video_child && isset( $popup ) && 'yes' === $popup ) {
1012
  ?>
@@ -1096,7 +1096,7 @@ if ( isset( $profile_description, $type ) && 'yes' === $profile_description &&
1096
 
1097
  <div class="fts-instagram-popup-profile-wrap">
1098
  <div class="fts-profile-pic">
1099
- <a href="https://www.instagram.com/<?php echo esc_attr( $username ); ?>" target="_blank"><img
1100
  src="<?php echo esc_attr( $profile_picture ); ?>" title="<?php echo esc_attr( $username ); ?>"/></a>
1101
  </div>
1102
 
@@ -1143,7 +1143,7 @@ if ( isset( $profile_description, $type ) && 'yes' === $profile_description &&
1143
  <?php
1144
  } else {
1145
  ?>
1146
- fts-instagram-img-link<?php } ?>' target='_blank' title='<?php echo esc_attr( $instagram_caption_a_title ); ?>'>
1147
  <img src="<?php echo esc_url( $instagram_thumb_url ); ?>" class="instagram-image"/>
1148
  <div class='instaG-photoshadow'></div>
1149
  </a>
41
  */
42
  public function convert_instagram_description_links( $bio ) {
43
  // Create links from @mentions and regular links.
44
+ $bio = preg_replace( '~https?://[^<>\s]+~i', '<a href="$0" target="_blank" rel="noreferrer">$0</a>', $bio );
45
+ $bio = preg_replace( '/#+(\w+)/u', '<a href="https://www.instagram.com/explore/tags/$1" target="_blank" rel="noreferrer">$0</a>', $bio );
46
+ $bio = preg_replace( '/@+(\w+)/u', '<a href="https://www.instagram.com/$1" target="_blank" rel="noreferrer">@$1</a>', $bio );
47
 
48
  return $bio;
49
  }
59
  */
60
  public function convert_instagram_links( $instagram_caption_a_title ) {
61
  // Create links from @mentions, #hashtags and regular links.
62
+ $instagram_caption_a_title = preg_replace( '~https?://[^<>\s]+~i', '<a href="$0" target="_blank" rel="noreferrer">$0</a>', $instagram_caption_a_title );
63
+ $instagram_caption = preg_replace( '/#+(\w+)/u', '<a href="https://www.instagram.com/explore/tags/$1" target="_blank" rel="noreferrer">$0</a>', $instagram_caption_a_title );
64
+ $instagram_caption = preg_replace( '/@+(\w+)/u', '<a href="https://www.instagram.com/$1" target="_blank" rel="noreferrer">@$1</a>', $instagram_caption );
65
 
66
  return $instagram_caption;
67
  }
263
  * @since 1.9.6
264
  */
265
  public function fts_view_on_instagram_link( $post_data ) {
266
+ return '<a href="' . esc_url( $this->fts_view_on_instagram_url( $post_data ) ) . '" class="fts-view-on-instagram-link" target="_blank" rel="noreferrer">' . esc_html( 'View on Instagram', 'feed-them-social' ) . '</a>';
267
  }
268
 
269
  /**
669
  <div class="fts-profile-wrap">
670
  <?php if ( isset( $profile_photo ) && 'yes' === $profile_photo ) { ?>
671
  <div class="fts-profile-pic">
672
+ <a href="https://www.instagram.com/<?php echo esc_attr( $username ); ?>" target="_blank" rel="noreferrer"><img
673
  src="<?php echo esc_url( $profile_picture ); ?>" title="<?php echo esc_attr( $username ); ?>"/></a>
674
  </div>
675
  <?php
889
  ?>
890
  <div class="fts-instagram-popup-profile-wrap">
891
  <div class="fts-profile-pic"><?php $user_type = isset( $type ) && 'hashtag' === $type ? 'explore/tags/' . $hashtag : $username; ?>
892
+ <a href="https://www.instagram.com/<?php echo esc_html( $user_type ); ?>" target="_blank" rel="noreferrer">
893
  <?php
894
  if ( 'user' === $type || 'business' === $type ) {
895
  ?>
903
  <div class="fts-profile-name-wrap">
904
 
905
  <div class="fts-isnta-full-name">
906
+ <a href="https://www.instagram.com/<?php echo esc_html( $user_type ); ?>" target="_blank" rel="noreferrer" style="color: #000;">
907
  <?php
908
  if ( 'user' === $type ) {
909
  echo esc_html( $full_name );
962
  }
963
  $fts_child = isset( $post_data->children ) || isset( $post_data->carousel_media ) ? 'fts-child-media ' : '';
964
  ?>
965
+ ' title='<?php print esc_attr( $instagram_caption_a_title ); ?>' target="_blank" rel="noreferrer" class='<?php print $fts_child; ?>fts-instagram-link-target fts-slicker-backg
966
  <?php
967
  if ( $data_type_video === $data_type && isset( $popup ) && 'yes' === $popup && ! empty( $this->fts_instagram_video_link( $post_data ) ) || ! empty( $data_type_child ) && 'VIDEO' === $data_type_child && isset( $popup ) && 'yes' === $popup && ! empty( $this->fts_instagram_video_link( $post_data ) ) ) {
968
  ?>
1006
 
1007
  }
1008
  ?>
1009
+ ' title='<?php print esc_attr( $instagram_caption_a_title ); ?>' target="_blank" rel="noreferrer" class='fts-child-media fts-child-media-hide fts-instagram-link-target fts-slicker-backg
1010
  <?php
1011
  if ( 'video_media' === $data_type_video_child && isset( $popup ) && 'yes' === $popup ) {
1012
  ?>
1096
 
1097
  <div class="fts-instagram-popup-profile-wrap">
1098
  <div class="fts-profile-pic">
1099
+ <a href="https://www.instagram.com/<?php echo esc_attr( $username ); ?>" target="_blank" rel="noreferrer"><img
1100
  src="<?php echo esc_attr( $profile_picture ); ?>" title="<?php echo esc_attr( $username ); ?>"/></a>
1101
  </div>
1102
 
1143
  <?php
1144
  } else {
1145
  ?>
1146
+ fts-instagram-img-link<?php } ?>' target='_blank' rel="noreferrer" title='<?php echo esc_attr( $instagram_caption_a_title ); ?>'>
1147
  <img src="<?php echo esc_url( $instagram_thumb_url ); ?>" class="instagram-image"/>
1148
  <div class='instaG-photoshadow'></div>
1149
  </a>
includes/feed-them-functions.php CHANGED
@@ -81,7 +81,6 @@ class feed_them_social_functions {
81
  add_action( 'admin_footer', array( $this, 'fts_plugin_license' ) );
82
  }
83
  }
84
-
85
  // FTS Admin Bar!
86
  add_action( 'wp_before_admin_bar_render', array( $this, 'fts_admin_bar_menu' ), 999 );
87
  // Settings option. Add Custom CSS to the header of FTS pages only!
@@ -92,7 +91,7 @@ class feed_them_social_functions {
92
  // Facebook Settings option. Add Custom CSS to the header of FTS pages only!
93
  $fts_include_fb_custom_css_checked_css = '1';
94
  if ( '1' === $fts_include_fb_custom_css_checked_css ) {
95
- add_action( 'wp_enqueue_scripts', array( $this, 'fts_fb_color_options_head_css' ) );
96
  }
97
  // Settings option. Custom Powered by Feed Them Social Option!
98
  $fts_powered_text_options_settings = get_option( 'fts-powered-text-options-settings' );
@@ -262,13 +261,13 @@ class feed_them_social_functions {
262
 
263
  // The share wrap and links
264
  $output = '<div class="fts-share-wrap">';
265
- $output .= '<a href="javascript:;" class="ft-gallery-link-popup">' . esc_html( '', 'feed-them-social' ) . '</a>';
266
  $output .= '<div class="ft-gallery-share-wrap">';
267
- $output .= '<a href="' . esc_attr( $ft_gallery_share_facebook ) . '" target="_blank" class="ft-galleryfacebook-icon" title="Share this post on Facebook"><i class="fa fa-facebook-square"></i></a>';
268
- $output .= '<a href="' . esc_attr( $ft_gallery_share_twitter ) . '" target="_blank" class="ft-gallerytwitter-icon" title="Share this post on Twitter"><i class="fa fa-twitter"></i></a>';
269
- $output .= '<a href="' . esc_attr( $ft_gallery_share_google ) . '" target="_blank" class="ft-gallerygoogle-icon" title="Share this post on Google"><i class="fa fa-google-plus"></i></a>';
270
- $output .= '<a href="' . esc_attr( $ft_gallery_share_linkedin ) . '" target="_blank" class="ft-gallerylinkedin-icon" title="Share this post on Linkedin"><i class="fa fa-linkedin"></i></a>';
271
- $output .= '<a href="' . esc_attr( $ft_gallery_share_email ) . '" target="_blank" class="ft-galleryemail-icon" title="Share this post in your email"><i class="fa fa-envelope"></i></a>';
272
  $output .= '</div>';
273
  $output .= '</div>';
274
  return $output;
@@ -1348,7 +1347,7 @@ class feed_them_social_functions {
1348
  }
1349
  break;
1350
  case 'instagram':
1351
- echo '<a href="' . esc_url( 'https://instagram.com/' . $user_id . '/' ) . '" target="_blank">' . esc_html( 'Follow on Instagram', 'feed-them-social' ) . '</a>';
1352
  break;
1353
  case 'twitter':
1354
  if ( ! isset( $_POST['fts_twitter_script_loaded'] ) ) {
81
  add_action( 'admin_footer', array( $this, 'fts_plugin_license' ) );
82
  }
83
  }
 
84
  // FTS Admin Bar!
85
  add_action( 'wp_before_admin_bar_render', array( $this, 'fts_admin_bar_menu' ), 999 );
86
  // Settings option. Add Custom CSS to the header of FTS pages only!
91
  // Facebook Settings option. Add Custom CSS to the header of FTS pages only!
92
  $fts_include_fb_custom_css_checked_css = '1';
93
  if ( '1' === $fts_include_fb_custom_css_checked_css ) {
94
+ add_action( 'wp_print_styles', array( $this, 'fts_fb_color_options_head_css' ) );
95
  }
96
  // Settings option. Custom Powered by Feed Them Social Option!
97
  $fts_powered_text_options_settings = get_option( 'fts-powered-text-options-settings' );
261
 
262
  // The share wrap and links
263
  $output = '<div class="fts-share-wrap">';
264
+ $output .= '<a href="javascript:;" class="ft-gallery-link-popup" title="' . esc_html( 'Social Share Options', 'feed-them-social' ) . '">' . esc_html( '', 'feed-them-social' ) . '</a>';
265
  $output .= '<div class="ft-gallery-share-wrap">';
266
+ $output .= '<a href="' . esc_attr( $ft_gallery_share_facebook ) . '" target="_blank" rel="noreferrer" class="ft-galleryfacebook-icon" title="Share this post on Facebook"><i class="fa fa-facebook-square"></i></a>';
267
+ $output .= '<a href="' . esc_attr( $ft_gallery_share_twitter ) . '" target="_blank" rel="noreferrer" class="ft-gallerytwitter-icon" title="Share this post on Twitter"><i class="fa fa-twitter"></i></a>';
268
+ $output .= '<a href="' . esc_attr( $ft_gallery_share_google ) . '" target="_blank" rel="noreferrer" class="ft-gallerygoogle-icon" title="Share this post on Google"><i class="fa fa-google-plus"></i></a>';
269
+ $output .= '<a href="' . esc_attr( $ft_gallery_share_linkedin ) . '" target="_blank" rel="noreferrer" class="ft-gallerylinkedin-icon" title="Share this post on Linkedin"><i class="fa fa-linkedin"></i></a>';
270
+ $output .= '<a href="' . esc_attr( $ft_gallery_share_email ) . '" target="_blank" rel="noreferrer" class="ft-galleryemail-icon" title="Share this post in your email"><i class="fa fa-envelope"></i></a>';
271
  $output .= '</div>';
272
  $output .= '</div>';
273
  return $output;
1347
  }
1348
  break;
1349
  case 'instagram':
1350
+ echo '<a href="' . esc_url( 'https://instagram.com/' . $user_id . '/' ) . '" target="_blank" rel="noreferrer">' . esc_html( 'Follow on Instagram', 'feed-them-social' ) . '</a>';
1351
  break;
1352
  case 'twitter':
1353
  if ( ! isset( $_POST['fts_twitter_script_loaded'] ) ) {
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: slickremix, slickchris
3
  Tags: Facebook, Instagram, Twitter, YouTube, Feed
4
  Requires at least: 3.6.0
5
- Tested up to: 5.4.1
6
- Stable tag: 2.8.3.4
7
  License: GPLv2 or later
8
 
9
  Display a Custom Facebook feed, Instagram feed, Twitter feed, Pinterest feed & YouTube feed on pages, posts or widgets.
@@ -75,6 +75,12 @@ Feed Them Social was Developed By SlickRemix --> [https://www.slickremix.com/](h
75
  * Log into WordPress dashboard then click **Plugins** > **Add new** > Then under the title "Install Plugins" click **Upload** > **choose the zip** > **Activate the plugin!**
76
 
77
  == Changelog ==
 
 
 
 
 
 
78
  = Version 2.8.3.4 Thursday, June 4th, 2020 =
79
  * FIX: Facebook Options: The access token button was not returning pages a user had linked to instagram.
80
 
2
  Contributors: slickremix, slickchris
3
  Tags: Facebook, Instagram, Twitter, YouTube, Feed
4
  Requires at least: 3.6.0
5
+ Tested up to: 5.4.2
6
+ Stable tag: 2.8.4
7
  License: GPLv2 or later
8
 
9
  Display a Custom Facebook feed, Instagram feed, Twitter feed, Pinterest feed & YouTube feed on pages, posts or widgets.
75
  * Log into WordPress dashboard then click **Plugins** > **Add new** > Then under the title "Install Plugins" click **Upload** > **choose the zip** > **Activate the plugin!**
76
 
77
  == Changelog ==
78
+ = Version 2.8.4 Friday, June 19th, 2020 =
79
+ * FIX: Custom CSS Option: Replace wp_enqueue_scripts with wp_print_styles.
80
+ * FIX: Facebook Albums Feed: The main photos are now appearing for album feeds again.
81
+ * FIX: Facebook Feed: php Warning for 'host': Add check for FB link to make sure it exists.
82
+ * FIX: Instagram Feed: Accessibility additions for links, titles, and fixed multiple ids issue.
83
+
84
  = Version 2.8.3.4 Thursday, June 4th, 2020 =
85
  * FIX: Facebook Options: The access token button was not returning pages a user had linked to instagram.
86