BlossomThemes Social Feed - Version 2.0.3

Version Description

Released on: 10th June, 2021

Feature:

  • Square Images support added for Instagram images.

Fixes:

  • Minor bug fixes.
Download this release

Release Info

Developer blossomthemes
Plugin Icon 128x128 BlossomThemes Social Feed
Version 2.0.3
Comparing to
See all releases

Code changes from version 2.0.2 to 2.0.3

README.txt CHANGED
@@ -1,176 +1,188 @@
1
- === BlossomThemes Social Feed ===
2
- Contributors: blossomthemes
3
- Donate link: https://blossomthemes.com
4
- Tags: instagram, popup, responsive, insta widget
5
- Requires at least: 4.3
6
- Tested up to: 5.7
7
- Requires PHP: 5.6
8
- Stable tag: 2.0.2
9
- License: GPLv2 or later
10
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
-
12
- Show instagram feed on your website using shortcode and widget.
13
-
14
- == Description ==
15
-
16
- BlossomThemes Social Feed plugin allows you to show your Instagram profile on your website. The plugin works best with BlossomThemes’ themes.
17
-
18
- You can display up to 25 photos with maximum 10 photos in each row.
19
-
20
- The plugin generates shortcode and widget. So, you can show your Instagram feed either inside your posts and/or on the sidebars.
21
-
22
- The plugin is very easy to use.
23
-
24
- = Generating your Instagram Shortcode =
25
-
26
- Once activated, a menu named “BlossomThemes Social Feed” will be created on the WordPress dashboard.
27
-
28
- Go to BlossomThemes Social Feed. Then, on the General tab, click Connect with Instagram, the Access Token, and your Instagram username gets captured automatically once you authorize the plugin to access your photos. Select number of photos to display (max. 25), select number of photos per row (max. 10 photos per row), and then click on “Save Changes”.
29
-
30
- Then, go to Usage tab, copy the shortcode and use it on your posts. As easy as that!
31
-
32
- = Using Widget =
33
-
34
- The plugin will create a widget called “BlossomThemes: Instagram”. So, go to Appearance> Widgets on your Admin dashboard, select the BlossomThemes: Instagram widget and place it in the desired sidebar.
35
-
36
- If you do not enter the Instagram username in the widget, the username assigned on the main plugin page (on BlossomThemes Social Feed) will be used.
37
-
38
- = Tutorial Link =
39
-
40
- [How to authorize Instagram account for BlossomThemes Social Feed Plugin?](https://blossomthemes.com/authenticate-instagram-account/)
41
-
42
- == Installation ==
43
- **From your WordPress dashboard**
44
-
45
- 1. Visit 'Plugins > Add New',
46
- 2. Search for 'BlossomThemes Social Feed' and install the plugin.
47
- 3. Activate ‘BlossomThemes Social Feed’ from your Plugins page.
48
-
49
- == Screenshots ==
50
-
51
- 1. General Tab Backend
52
- 2. Usage Tab Backend
53
- 3. BlossomThemes Instagram Widget
54
-
55
- == Images ==
56
- All images are under Creative Commons Public Domain deed CC0.
57
-
58
- * Plugin Banner Image
59
- Links:
60
- https://stocksnap.io/photo/Q2WJXI3CSE,
61
- https://stocksnap.io/photo/EPDJ57Y4TC,
62
- https://stocksnap.io/photo/ZT9WYAA3Y2,
63
- https://stocksnap.io/photo/MHP7KONPB9
64
-
65
- License: https://stocksnap.io/license
66
-
67
- == Changelog ==
68
-
69
- = 2.0.2 =
70
-
71
- Released on: 24th March, 2021
72
-
73
- Feature:
74
-
75
- * Lazy load implementation added for Instagram images.
76
-
77
- Fixes:
78
-
79
- * Minor bug fixes.
80
-
81
- = 2.0.1 =
82
-
83
- Released on: 23rd November, 2020
84
-
85
- Fixes:
86
-
87
- * Instragram caption escaping fixes.
88
- * Minor bug fixes.
89
-
90
- = 2.0.0 =
91
-
92
- Released on: 17th March, 2020
93
-
94
- Important:
95
-
96
- * BlossomThemes Social Feed discontinued with Instagram's old API and henceforth will be using the new Instagram Basic Display API. This will disrupt feeds created from personal connected accounts. You will need to reconnect the account on the BlossomThemes Social Feed Settings page. For help, please refer to [this](https://blossomthemes.com/authenticate-instagram-account/) tutorial.
97
-
98
- Features:
99
-
100
- * Support added for the new Instagram Basic Display API.
101
-
102
- Fixes:
103
-
104
- * Minor bug fixes.
105
-
106
- = 1.2.0 =
107
-
108
- Released on: 18th November, 2019
109
-
110
- Features:
111
-
112
- * Fetch new Posts feature added.
113
-
114
- Fixes:
115
-
116
- * Minor bug fixes.
117
-
118
- = 1.1.10 =
119
- * Fix: Initial Instagram connection issue
120
-
121
- = 1.1.9 =
122
- * Feature: Posts fetch interval added
123
- * Improvement: Split the plugin settings page into general and usage template
124
-
125
- = 1.1.8 =
126
- * Plugin name renamed due to Instagram Trademark issues
127
- * Minor SEO issues fixed
128
-
129
- = 1.1.7 =
130
- * Plugin name renamed due to Instagram Trademark issues
131
-
132
- = 1.1.6 =
133
- * Instagram Settings Issue fixed
134
-
135
- = 1.1.5 =
136
- * Instagram Configuration Video Tutorial Added
137
-
138
- = 1.1.4 =
139
- * Instagram Admin Notice Added
140
-
141
- = 1.1.3 =
142
- * Instagram API integration
143
-
144
- = 1.1.0 =
145
- * Instagram widget follow text issue fixed
146
-
147
- = 1.0.9 =
148
- * Image size for shortcode
149
-
150
- = 1.0.8 =
151
- * Resource Minification
152
- * Image size load smaller
153
-
154
- = 1.0.7 =
155
- * Notice Fixed
156
-
157
- = 1.0.6 =
158
- * API updated
159
-
160
- = 1.0.5 =
161
- * API updated
162
-
163
- = 1.0.4 =
164
- * Function changed
165
-
166
- = 1.0.3 =
167
- * No username issue fixed
168
-
169
- = 1.0.2 =
170
- * Issue fixed
171
-
172
- = 1.0.1 =
173
- * Compatibility tested
174
-
175
- = 1.0.0 =
 
 
 
 
 
 
 
 
 
 
 
 
176
  * Minor design fixes and code clean-up
1
+ === BlossomThemes Social Feed ===
2
+ Contributors: blossomthemes
3
+ Donate link: https://blossomthemes.com
4
+ Tags: instagram, popup, responsive, insta widget
5
+ Requires at least: 4.3
6
+ Tested up to: 6.0
7
+ Requires PHP: 5.6
8
+ Stable tag: 2.0.3
9
+ License: GPLv2 or later
10
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
+
12
+ Show instagram feed on your website using shortcode and widget.
13
+
14
+ == Description ==
15
+
16
+ BlossomThemes Social Feed plugin allows you to show your Instagram profile on your website. The plugin works best with BlossomThemes’ themes.
17
+
18
+ You can display up to 25 photos with maximum 10 photos in each row.
19
+
20
+ The plugin generates shortcode and widget. So, you can show your Instagram feed either inside your posts and/or on the sidebars.
21
+
22
+ The plugin is very easy to use.
23
+
24
+ = Generating your Instagram Shortcode =
25
+
26
+ Once activated, a menu named “BlossomThemes Social Feed” will be created on the WordPress dashboard.
27
+
28
+ Go to BlossomThemes Social Feed. Then, on the General tab, click Connect with Instagram, the Access Token, and your Instagram username gets captured automatically once you authorize the plugin to access your photos. Select number of photos to display (max. 25), select number of photos per row (max. 10 photos per row), and then click on “Save Changes”.
29
+
30
+ Then, go to Usage tab, copy the shortcode and use it on your posts. As easy as that!
31
+
32
+ = Using Widget =
33
+
34
+ The plugin will create a widget called “BlossomThemes: Instagram”. So, go to Appearance> Widgets on your Admin dashboard, select the BlossomThemes: Instagram widget and place it in the desired sidebar.
35
+
36
+ If you do not enter the Instagram username in the widget, the username assigned on the main plugin page (on BlossomThemes Social Feed) will be used.
37
+
38
+ = Tutorial Link =
39
+
40
+ [How to authorize Instagram account for BlossomThemes Social Feed Plugin?](https://blossomthemes.com/authenticate-instagram-account/)
41
+
42
+ == Installation ==
43
+ **From your WordPress dashboard**
44
+
45
+ 1. Visit 'Plugins > Add New',
46
+ 2. Search for 'BlossomThemes Social Feed' and install the plugin.
47
+ 3. Activate ‘BlossomThemes Social Feed’ from your Plugins page.
48
+
49
+ == Screenshots ==
50
+
51
+ 1. General Tab Backend
52
+ 2. Usage Tab Backend
53
+ 3. BlossomThemes Instagram Widget
54
+
55
+ == Images ==
56
+ All images are under Creative Commons Public Domain deed CC0.
57
+
58
+ * Plugin Banner Image
59
+ Links:
60
+ https://stocksnap.io/photo/Q2WJXI3CSE,
61
+ https://stocksnap.io/photo/EPDJ57Y4TC,
62
+ https://stocksnap.io/photo/ZT9WYAA3Y2,
63
+ https://stocksnap.io/photo/MHP7KONPB9
64
+
65
+ License: https://stocksnap.io/license
66
+
67
+ == Changelog ==
68
+
69
+ = 2.0.3 =
70
+
71
+ Released on: 10th June, 2021
72
+
73
+ Feature:
74
+
75
+ * Square Images support added for Instagram images.
76
+
77
+ Fixes:
78
+
79
+ * Minor bug fixes.
80
+
81
+ = 2.0.2 =
82
+
83
+ Released on: 24th March, 2021
84
+
85
+ Feature:
86
+
87
+ * Lazy load implementation added for Instagram images.
88
+
89
+ Fixes:
90
+
91
+ * Minor bug fixes.
92
+
93
+ = 2.0.1 =
94
+
95
+ Released on: 23rd November, 2020
96
+
97
+ Fixes:
98
+
99
+ * Instragram caption escaping fixes.
100
+ * Minor bug fixes.
101
+
102
+ = 2.0.0 =
103
+
104
+ Released on: 17th March, 2020
105
+
106
+ Important:
107
+
108
+ * BlossomThemes Social Feed discontinued with Instagram's old API and henceforth will be using the new Instagram Basic Display API. This will disrupt feeds created from personal connected accounts. You will need to reconnect the account on the BlossomThemes Social Feed Settings page. For help, please refer to [this](https://blossomthemes.com/authenticate-instagram-account/) tutorial.
109
+
110
+ Features:
111
+
112
+ * Support added for the new Instagram Basic Display API.
113
+
114
+ Fixes:
115
+
116
+ * Minor bug fixes.
117
+
118
+ = 1.2.0 =
119
+
120
+ Released on: 18th November, 2019
121
+
122
+ Features:
123
+
124
+ * Fetch new Posts feature added.
125
+
126
+ Fixes:
127
+
128
+ * Minor bug fixes.
129
+
130
+ = 1.1.10 =
131
+ * Fix: Initial Instagram connection issue
132
+
133
+ = 1.1.9 =
134
+ * Feature: Posts fetch interval added
135
+ * Improvement: Split the plugin settings page into general and usage template
136
+
137
+ = 1.1.8 =
138
+ * Plugin name renamed due to Instagram Trademark issues
139
+ * Minor SEO issues fixed
140
+
141
+ = 1.1.7 =
142
+ * Plugin name renamed due to Instagram Trademark issues
143
+
144
+ = 1.1.6 =
145
+ * Instagram Settings Issue fixed
146
+
147
+ = 1.1.5 =
148
+ * Instagram Configuration Video Tutorial Added
149
+
150
+ = 1.1.4 =
151
+ * Instagram Admin Notice Added
152
+
153
+ = 1.1.3 =
154
+ * Instagram API integration
155
+
156
+ = 1.1.0 =
157
+ * Instagram widget follow text issue fixed
158
+
159
+ = 1.0.9 =
160
+ * Image size for shortcode
161
+
162
+ = 1.0.8 =
163
+ * Resource Minification
164
+ * Image size load smaller
165
+
166
+ = 1.0.7 =
167
+ * Notice Fixed
168
+
169
+ = 1.0.6 =
170
+ * API updated
171
+
172
+ = 1.0.5 =
173
+ * API updated
174
+
175
+ = 1.0.4 =
176
+ * Function changed
177
+
178
+ = 1.0.3 =
179
+ * No username issue fixed
180
+
181
+ = 1.0.2 =
182
+ * Issue fixed
183
+
184
+ = 1.0.1 =
185
+ * Compatibility tested
186
+
187
+ = 1.0.0 =
188
  * Minor design fixes and code clean-up
admin/css/blossomthemes-instagram-feed-admin.css CHANGED
@@ -1,140 +1,164 @@
1
- .btss-backend-sidebar {
2
- display: inline-block;
3
- float: right;
4
- width: 20%
5
- }
6
-
7
- .btss-backend-sidebar .thumbnail {
8
- padding: 12px;
9
- line-height: 1.4em;
10
- font-size: 13px;
11
- border: 1px solid #e5e5e5;
12
- box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
13
- background: #fff;
14
- margin-bottom: 20px
15
- }
16
-
17
- form.btif-settings-form {
18
- background: #fff;
19
- padding: 10px;
20
- width: 78%;
21
- float: left
22
- }
23
-
24
- .thumbnail-review {
25
- background: #fff;
26
- padding: 12px;
27
- margin: 0
28
- }
29
-
30
- .btif-option-field-wrap label {
31
- margin: 10px 15px 10px 0;
32
- display: inline-block;
33
- font-weight: 600
34
- }
35
-
36
- .btif-inner-wrap .nav-tab-active,
37
- .btif-inner-wrap .nav-tab-active:focus,
38
- .btif-inner-wrap .nav-tab-active:focus:active,
39
- .btif-inner-wrap .nav-tab-active:hover {
40
- border-bottom: 1px solid #fff;
41
- background: #fff;
42
- color: #000
43
- }
44
-
45
- .btif-inner-wrap {
46
- background: #fff;
47
- width: 77.5%;
48
- float: left;
49
- padding: 15px;
50
- border: 1px solid #ddd
51
- }
52
-
53
- .blossomthemes-instagram-feed-settings {
54
- display: none
55
- }
56
-
57
- .blossomthemes-instagram-feed-settings.general {
58
- display: block
59
- }
60
-
61
- div#blossomthemes-instagram-feed-settings-usage .shortcode-usage {
62
- width: 30%
63
- }
64
-
65
- .btif-option-field-wrap label {
66
- width: 150px;
67
- padding-right: 20px;
68
- margin: 0
69
- }
70
-
71
- .btif-option-field-wrap input[type="text"],
72
- .btif-option-field-wrap input[type="number"],
73
- .btif-option-field-wrap select {
74
- width: 320px;
75
- height: 35px;
76
- box-shadow: none
77
- }
78
-
79
- .btif-option-field-wrap {
80
- margin-bottom: 25px;
81
- }
82
-
83
- .blossomthemes-instagram-feed-settings
84
- .btif-option-field-wrap:last-child {
85
- display: flex;
86
- flex: auto;
87
- align-items: center;
88
- }
89
-
90
- #btif-fetch-new-posts {
91
- height: 35px;
92
- display: flex;
93
- justify-content: center;
94
- align-items: center;
95
- }
96
-
97
- #btif-fetch-new-posts-loader,
98
- #btif-fetch-new-posts-success,
99
- #btif-fetch-new-posts-failure {
100
- display: inline-flex;
101
- }
102
-
103
-
104
- p.btif-description {
105
- margin-left: 175px;
106
- font-style: italic
107
- }
108
-
109
- .btif-settings-form .button-connect {
110
- margin-bottom: 40px
111
- }
112
-
113
- .btif-settings-form .blossomthemes-instagram-feed-settings-submit {
114
- border-top: 1px solid rgba(0, 0, 0, .1);
115
- margin-top: 40px
116
- }
117
-
118
- .blossomthemes-instagram-feed-settings .btif-option-field-wrap:nth-last-of-type(2) {
119
- display: flex;
120
- flex-wrap: wrap;
121
- align-items: center;
122
- }
123
-
124
- .blossomthemes-instagram-feed-settings .btif-option-field-wrap:nth-last-of-type(2) input,
125
- .blossomthemes-instagram-feed-settings .btif-option-field-wrap:nth-last-of-type(2) select {
126
- margin-right: 10px;
127
- }
128
-
129
- .blossomthemes-instagram-feed-settings .btif-option-field-wrap:nth-last-of-type(2) #btif-fetch-new-posts {
130
- display: inline-flex;
131
- }
132
-
133
- /* .blossomthemes-instagram-feed-settings .btif-option-field-wrap:last-child {
134
- display: block;
135
- } */
136
-
137
- .blossomthemes-instagram-feed-settings .btif-option-field-wrap:last-child p.btif-description {
138
- margin-left: 8px;
139
- margin-top: 8px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  }
1
+ .btss-backend-sidebar {
2
+ display: inline-block;
3
+ float: right;
4
+ width: 20%
5
+ }
6
+
7
+ .btss-backend-sidebar .thumbnail {
8
+ padding: 12px;
9
+ line-height: 1.4em;
10
+ font-size: 13px;
11
+ border: 1px solid #e5e5e5;
12
+ box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
13
+ background: #fff;
14
+ margin-bottom: 20px
15
+ }
16
+
17
+ form.btif-settings-form {
18
+ background: #fff;
19
+ padding: 10px;
20
+ width: 78%;
21
+ float: left
22
+ }
23
+
24
+ .thumbnail-review {
25
+ background: #fff;
26
+ padding: 12px;
27
+ margin: 0
28
+ }
29
+
30
+ .btif-option-field-wrap label {
31
+ margin: 10px 15px 10px 0;
32
+ display: inline-block;
33
+ font-weight: 600
34
+ }
35
+
36
+ .btif-inner-wrap .nav-tab-active,
37
+ .btif-inner-wrap .nav-tab-active:focus,
38
+ .btif-inner-wrap .nav-tab-active:focus:active,
39
+ .btif-inner-wrap .nav-tab-active:hover {
40
+ border-bottom: 1px solid #fff;
41
+ background: #fff;
42
+ color: #000
43
+ }
44
+
45
+ .btif-inner-wrap {
46
+ background: #fff;
47
+ width: 77.5%;
48
+ float: left;
49
+ padding: 15px;
50
+ border: 1px solid #ddd
51
+ }
52
+
53
+ .blossomthemes-instagram-feed-settings {
54
+ display: none
55
+ }
56
+
57
+ .blossomthemes-instagram-feed-settings.general {
58
+ display: block
59
+ }
60
+
61
+ div#blossomthemes-instagram-feed-settings-usage .shortcode-usage {
62
+ width: 30%
63
+ }
64
+
65
+ .btif-option-field-wrap label {
66
+ width: 150px;
67
+ padding-right: 20px;
68
+ margin: 0
69
+ }
70
+
71
+ .btif-option-field-wrap input[type="text"],
72
+ .btif-option-field-wrap input[type="number"],
73
+ .btif-option-field-wrap select {
74
+ width: 320px;
75
+ height: 35px;
76
+ box-shadow: none
77
+ }
78
+
79
+ .btif-option-field-wrap {
80
+ margin-bottom: 25px;
81
+ }
82
+
83
+ .blossomthemes-instagram-feed-settings
84
+ .btif-option-field-wrap:last-child {
85
+ display: flex;
86
+ flex: auto;
87
+ align-items: center;
88
+ }
89
+
90
+ #btif-fetch-new-posts {
91
+ height: 35px;
92
+ display: flex;
93
+ justify-content: center;
94
+ align-items: center;
95
+ }
96
+
97
+ #btif-fetch-new-posts-loader,
98
+ #btif-fetch-new-posts-success,
99
+ #btif-fetch-new-posts-failure {
100
+ display: inline-flex;
101
+ }
102
+
103
+
104
+ p.btif-description {
105
+ margin-left: 175px;
106
+ font-style: italic
107
+ }
108
+
109
+ .btif-settings-form .button-connect {
110
+ margin-bottom: 40px
111
+ }
112
+
113
+ .btif-settings-form .blossomthemes-instagram-feed-settings-submit {
114
+ border-top: 1px solid rgba(0, 0, 0, .1);
115
+ margin-top: 40px
116
+ }
117
+
118
+ .blossomthemes-instagram-feed-settings .btif-option-field-wrap:nth-last-of-type(2) {
119
+ display: flex;
120
+ flex-wrap: wrap;
121
+ align-items: center;
122
+ }
123
+
124
+ /* .blossomthemes-instagram-feed-settings .btif-option-field-wrap:nth-last-of-type(2) input,
125
+ .blossomthemes-instagram-feed-settings .btif-option-field-wrap:nth-last-of-type(2) select {
126
+ margin-right: 10px;
127
+ } */
128
+
129
+ .blossomthemes-instagram-feed-settings .btif-option-field-wrap:nth-last-of-type(2) #btif-fetch-new-posts {
130
+ display: inline-flex;
131
+ }
132
+
133
+ /* .blossomthemes-instagram-feed-settings .btif-option-field-wrap:last-child {
134
+ display: block;
135
+ } */
136
+
137
+ .blossomthemes-instagram-feed-settings .btif-option-field-wrap:last-child p.btif-description {
138
+ margin-left: 8px;
139
+ }
140
+
141
+ .blossomthemes-instagram-feed-settings .btif-option-field-wrap{
142
+ display: flex;
143
+ flex-wrap: wrap;
144
+ align-items: center;
145
+ }
146
+
147
+ .blossomthemes-instagram-feed-settings .btif-option-field-wrap:first-child{
148
+ flex-direction: column;
149
+ align-items: flex-start;
150
+ }
151
+
152
+ .btif-option-field-wrap input[type="checkbox"]{
153
+ margin-right: .25rem;
154
+ margin-bottom: -6px;
155
+ }
156
+
157
+ .btif-option-field-wrap p.btif-description{
158
+ margin-top: 0;
159
+ margin-bottom: 0;
160
+ }
161
+
162
+ .btif-option-field-wrap input[type="checkbox"] + p.btif-description{
163
+ margin-left: 8px;
164
  }
blossomthemes-instagram-feed.php CHANGED
@@ -1,84 +1,84 @@
1
- <?php
2
- /**
3
- * The plugin bootstrap file
4
- *
5
- * This file is read by WordPress to generate the plugin information in the plugin
6
- * admin area. This file also includes all of the dependencies used by the plugin,
7
- * registers the activation and deactivation functions, and defines a function
8
- * that starts the plugin.
9
- *
10
- * @link https://blossomthemes.com
11
- * @since 1.0.0
12
- * @package Blossomthemes_Instagram_Feed
13
- *
14
- * @wordpress-plugin
15
- * Plugin Name: BlossomThemes Social Feed
16
- * Plugin URI: https://wordpress.org/plugins/blossomthemes-instagram-feed
17
- * Description: Show instagram feed on your website using shortcode and widget.
18
- * Version: 2.0.2
19
- * Author: blossomthemes
20
- * Author URI: https://blossomthemes.com
21
- * License: GPL-2.0+
22
- * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
23
- * Text Domain: blossomthemes-instagram-feed
24
- * Domain Path: /languages
25
- */
26
-
27
- // If this file is called directly, abort.
28
- if ( ! defined( 'WPINC' ) ) {
29
- die;
30
- }
31
-
32
- define( 'BTIF_BASE_PATH', dirname( __FILE__ ) );
33
- define( 'BTIF_FILE_PATH', __FILE__ );
34
- define( 'BTIF_FILE_URL', rtrim( plugin_dir_url( __FILE__ ), '/' ) );
35
- define( 'BTIF_PLUGIN_VERSION', '2.0.2' );
36
-
37
- // Instagram API image limit.
38
- if ( ! defined( 'BTIF_INSTAGRAM_API_IMAGE_LIMIT' ) ) {
39
- define( 'BTIF_INSTAGRAM_API_IMAGE_LIMIT', 25 );
40
- }
41
-
42
- /**
43
- * The code that runs during plugin activation.
44
- * This action is documented in includes/class-blossomthemes-instagram-feed-activator.php
45
- */
46
- function activate_blossomthemes_instagram_feed() {
47
- require_once plugin_dir_path( __FILE__ ) . 'includes/class-blossomthemes-instagram-feed-activator.php';
48
- Blossomthemes_Instagram_Feed_Activator::activate();
49
- }
50
-
51
- /**
52
- * The code that runs during plugin deactivation.
53
- * This action is documented in includes/class-blossomthemes-instagram-feed-deactivator.php
54
- */
55
- function deactivate_blossomthemes_instagram_feed() {
56
- require_once plugin_dir_path( __FILE__ ) . 'includes/class-blossomthemes-instagram-feed-deactivator.php';
57
- Blossomthemes_Instagram_Feed_Deactivator::deactivate();
58
- }
59
-
60
- register_activation_hook( __FILE__, 'activate_blossomthemes_instagram_feed' );
61
- register_deactivation_hook( __FILE__, 'deactivate_blossomthemes_instagram_feed' );
62
-
63
- /**
64
- * The core plugin class that is used to define internationalization,
65
- * admin-specific hooks, and public-facing site hooks.
66
- */
67
- require plugin_dir_path( __FILE__ ) . 'includes/class-blossomthemes-instagram-feed.php';
68
-
69
- /**
70
- * Begins execution of the plugin.
71
- *
72
- * Since everything within the plugin is registered via hooks,
73
- * then kicking off the plugin from this point in the file does
74
- * not affect the page life cycle.
75
- *
76
- * @since 1.0.0
77
- */
78
- function run_blossomthemes_instagram_feed() {
79
-
80
- $plugin = new Blossomthemes_Instagram_Feed();
81
- $plugin->run();
82
-
83
- }
84
- run_blossomthemes_instagram_feed();
1
+ <?php
2
+ /**
3
+ * The plugin bootstrap file
4
+ *
5
+ * This file is read by WordPress to generate the plugin information in the plugin
6
+ * admin area. This file also includes all of the dependencies used by the plugin,
7
+ * registers the activation and deactivation functions, and defines a function
8
+ * that starts the plugin.
9
+ *
10
+ * @link https://blossomthemes.com
11
+ * @since 1.0.0
12
+ * @package Blossomthemes_Instagram_Feed
13
+ *
14
+ * @wordpress-plugin
15
+ * Plugin Name: BlossomThemes Social Feed
16
+ * Plugin URI: https://wordpress.org/plugins/blossomthemes-instagram-feed
17
+ * Description: Show instagram feed on your website using shortcode and widget.
18
+ * Version: 2.0.3
19
+ * Author: blossomthemes
20
+ * Author URI: https://blossomthemes.com
21
+ * License: GPL-2.0+
22
+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
23
+ * Text Domain: blossomthemes-instagram-feed
24
+ * Domain Path: /languages
25
+ */
26
+
27
+ // If this file is called directly, abort.
28
+ if ( ! defined( 'WPINC' ) ) {
29
+ die;
30
+ }
31
+
32
+ define( 'BTIF_BASE_PATH', dirname( __FILE__ ) );
33
+ define( 'BTIF_FILE_PATH', __FILE__ );
34
+ define( 'BTIF_FILE_URL', rtrim( plugin_dir_url( __FILE__ ), '/' ) );
35
+ define( 'BTIF_PLUGIN_VERSION', '2.0.3' );
36
+
37
+ // Instagram API image limit.
38
+ if ( ! defined( 'BTIF_INSTAGRAM_API_IMAGE_LIMIT' ) ) {
39
+ define( 'BTIF_INSTAGRAM_API_IMAGE_LIMIT', 25 );
40
+ }
41
+
42
+ /**
43
+ * The code that runs during plugin activation.
44
+ * This action is documented in includes/class-blossomthemes-instagram-feed-activator.php
45
+ */
46
+ function activate_blossomthemes_instagram_feed() {
47
+ require_once plugin_dir_path( __FILE__ ) . 'includes/class-blossomthemes-instagram-feed-activator.php';
48
+ Blossomthemes_Instagram_Feed_Activator::activate();
49
+ }
50
+
51
+ /**
52
+ * The code that runs during plugin deactivation.
53
+ * This action is documented in includes/class-blossomthemes-instagram-feed-deactivator.php
54
+ */
55
+ function deactivate_blossomthemes_instagram_feed() {
56
+ require_once plugin_dir_path( __FILE__ ) . 'includes/class-blossomthemes-instagram-feed-deactivator.php';
57
+ Blossomthemes_Instagram_Feed_Deactivator::deactivate();
58
+ }
59
+
60
+ register_activation_hook( __FILE__, 'activate_blossomthemes_instagram_feed' );
61
+ register_deactivation_hook( __FILE__, 'deactivate_blossomthemes_instagram_feed' );
62
+
63
+ /**
64
+ * The core plugin class that is used to define internationalization,
65
+ * admin-specific hooks, and public-facing site hooks.
66
+ */
67
+ require plugin_dir_path( __FILE__ ) . 'includes/class-blossomthemes-instagram-feed.php';
68
+
69
+ /**
70
+ * Begins execution of the plugin.
71
+ *
72
+ * Since everything within the plugin is registered via hooks,
73
+ * then kicking off the plugin from this point in the file does
74
+ * not affect the page life cycle.
75
+ *
76
+ * @since 1.0.0
77
+ */
78
+ function run_blossomthemes_instagram_feed() {
79
+
80
+ $plugin = new Blossomthemes_Instagram_Feed();
81
+ $plugin->run();
82
+
83
+ }
84
+ run_blossomthemes_instagram_feed();
includes/class-blossomthemes-instagram-feed-settings.php CHANGED
@@ -109,7 +109,8 @@ class BlossomThemes_Instagram_Feed_Settings {
109
  update_option( 'blossomthemes_instagram_invalid_token', true, false );
110
  }
111
 
112
- $options['enable_lazy_load'] = isset( $options['enable_lazy_load'] ) && '' != $options['enable_lazy_load'] ? $options['enable_lazy_load'] : '';
 
113
 
114
  extract( $options );
115
 
@@ -124,14 +125,15 @@ class BlossomThemes_Instagram_Feed_Settings {
124
  $settings = get_option( 'blossomthemes_instagram_feed_settings' );
125
 
126
  $settings = wp_parse_args( $settings, array(
127
- 'access_token' => '',
128
- 'username' => '',
129
- 'photos' => 5,
130
- 'photos_row' => 5,
131
- 'follow_me' => 'Follow Me!',
132
- 'pull_duration' => 1,
133
- 'pull_unit' => 'days',
134
- 'enable_lazy_load' => '',
 
135
  ) );
136
 
137
  return $settings;
109
  update_option( 'blossomthemes_instagram_invalid_token', true, false );
110
  }
111
 
112
+ $options['enable_lazy_load'] = isset( $options['enable_lazy_load'] ) && '' != $options['enable_lazy_load'] ? $options['enable_lazy_load'] : '';
113
+ $options['enable_square_images'] = isset( $options['enable_square_images'] ) && '' != $options['enable_square_images'] ? $options['enable_square_images'] : '';
114
 
115
  extract( $options );
116
 
125
  $settings = get_option( 'blossomthemes_instagram_feed_settings' );
126
 
127
  $settings = wp_parse_args( $settings, array(
128
+ 'access_token' => '',
129
+ 'username' => '',
130
+ 'photos' => 5,
131
+ 'photos_row' => 5,
132
+ 'follow_me' => 'Follow Me!',
133
+ 'pull_duration' => 1,
134
+ 'pull_unit' => 'days',
135
+ 'enable_lazy_load' => '',
136
+ 'enable_square_images' => ''
137
  ) );
138
 
139
  return $settings;
includes/class-blossomthemes-instagram-feed-shortcodes.php CHANGED
@@ -38,7 +38,7 @@ class BlossomThemes_Instagram_Feed_Shortcodes
38
  require plugin_dir_path( BTIF_FILE_PATH ) . 'public/partials/blossomthemes-instagram-feed-public-display.php';
39
  }
40
 
41
- $output = ob_get_contents();
42
  ob_end_clean();
43
  return apply_filters( 'btif_instagram_shortcode_filter', $output );
44
  }
38
  require plugin_dir_path( BTIF_FILE_PATH ) . 'public/partials/blossomthemes-instagram-feed-public-display.php';
39
  }
40
 
41
+ $output = '<div class="btif-instagram-feed">' . ob_get_contents() . '</div>';
42
  ob_end_clean();
43
  return apply_filters( 'btif_instagram_shortcode_filter', $output );
44
  }
includes/template/backend/general.php CHANGED
@@ -172,5 +172,20 @@
172
  </p>
173
  </div>
174
  <!-- ./ Lazy Load enable input -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  </div>
176
  <?php
172
  </p>
173
  </div>
174
  <!-- ./ Lazy Load enable input -->
175
+
176
+ <!-- Square Images enable input -->
177
+ <div class="btif-option-field-wrap">
178
+ <label for="blossomthemes_instagram_feed_settings[enable_square_images]">
179
+ <?php _e('Square Images', 'blossomthemes-instagram-feed'); ?>
180
+ </label>
181
+ <input id="blossomthemes_instagram_feed_settings[enable_square_images]"
182
+ name="blossomthemes_instagram_feed_settings[enable_square_images]" type="checkbox"
183
+ value="1" <?php checked( $enable_square_images, 1 ); ?>/>
184
+
185
+ <p class="btif-description">
186
+ <?php _e( 'Enable square Instagram images.', 'blossomthemes-instagram-feed' ); ?>
187
+ </p>
188
+ </div>
189
+ <!-- ./ Square Images enable input -->
190
  </div>
191
  <?php
languages/blossomthemes-instagram-feed.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2021 blossomthemes
2
  # This file is distributed under the GPL-2.0+.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: BlossomThemes Social Feed 2.0.2\n"
6
  "Report-Msgid-Bugs-To: \n"
7
- "POT-Creation-Date: 2021-03-24 12:18:38+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: WP Travel Engine\n"
13
  "Language-Team: \n"
14
  "X-Poedit-KeywordsList: "
@@ -155,6 +155,14 @@ msgstr ""
155
  msgid "Enable lazy loading of Instagram images."
156
  msgstr ""
157
 
 
 
 
 
 
 
 
 
158
  #. Plugin Name of the plugin/theme
159
  msgid "BlossomThemes Social Feed"
160
  msgstr ""
1
+ # Copyright (C) 2022 blossomthemes
2
  # This file is distributed under the GPL-2.0+.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: BlossomThemes Social Feed 2.0.3\n"
6
  "Report-Msgid-Bugs-To: \n"
7
+ "POT-Creation-Date: 2022-01-27 10:26:57+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2022-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: WP Travel Engine\n"
13
  "Language-Team: \n"
14
  "X-Poedit-KeywordsList: "
155
  msgid "Enable lazy loading of Instagram images."
156
  msgstr ""
157
 
158
+ #: includes/template/backend/general.php:179
159
+ msgid "Square Images"
160
+ msgstr ""
161
+
162
+ #: includes/template/backend/general.php:186
163
+ msgid "Enable square Instagram images."
164
+ msgstr ""
165
+
166
  #. Plugin Name of the plugin/theme
167
  msgid "BlossomThemes Social Feed"
168
  msgstr ""
public/css/blossomthemes-instagram-feed-public.css CHANGED
@@ -44,4 +44,20 @@
44
 
45
  .popup-gallery:not(.photos-1) ul li img {
46
  vertical-align: top;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  }
44
 
45
  .popup-gallery:not(.photos-1) ul li img {
46
  vertical-align: top;
47
+ }
48
+
49
+ .popup-gallery.btif-square-images a{
50
+ display: block;
51
+ overflow: hidden;
52
+ position: relative;
53
+ padding-top: 100%;
54
+ }
55
+
56
+ .popup-gallery.btif-square-images a img{
57
+ width: 100%;
58
+ height: 100%;
59
+ object-fit: cover;
60
+ position: absolute;
61
+ top: 0;
62
+ left: 0;
63
  }
public/js/jquery.lazy.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! jQuery & Zepto Lazy v1.7.10 - http://jquery.eisbehr.de/lazy - MIT&GPL-2.0 license - Copyright 2012-2018 Daniel 'Eisbehr' Kern */
2
  !function(t,e){"use strict";function r(r,a,i,u,l){function f(){L=t.devicePixelRatio>1,i=c(i),a.delay>=0&&setTimeout(function(){s(!0)},a.delay),(a.delay<0||a.combined)&&(u.e=v(a.throttle,function(t){"resize"===t.type&&(w=B=-1),s(t.all)}),u.a=function(t){t=c(t),i.push.apply(i,t)},u.g=function(){return i=n(i).filter(function(){return!n(this).data(a.loadedName)})},u.f=function(t){for(var e=0;e<t.length;e++){var r=i.filter(function(){return this===t[e]});r.length&&s(!1,r)}},s(),n(a.appendScroll).on("scroll."+l+" resize."+l,u.e))}function c(t){var i=a.defaultImage,o=a.placeholder,u=a.imageBase,l=a.srcsetAttribute,f=a.loaderAttribute,c=a._f||{};t=n(t).filter(function(){var t=n(this),r=m(this);return!t.data(a.handledName)&&(t.attr(a.attribute)||t.attr(l)||t.attr(f)||c[r]!==e)}).data("plugin_"+a.name,r);for(var s=0,d=t.length;s<d;s++){var A=n(t[s]),g=m(t[s]),h=A.attr(a.imageBaseAttribute)||u;g===N&&h&&A.attr(l)&&A.attr(l,b(A.attr(l),h)),c[g]===e||A.attr(f)||A.attr(f,c[g]),g===N&&i&&!A.attr(E)?A.attr(E,i):g===N||!o||A.css(O)&&"none"!==A.css(O)||A.css(O,"url('"+o+"')")}return t}function s(t,e){if(!i.length)return void(a.autoDestroy&&r.destroy());for(var o=e||i,u=!1,l=a.imageBase||"",f=a.srcsetAttribute,c=a.handledName,s=0;s<o.length;s++)if(t||e||A(o[s])){var g=n(o[s]),h=m(o[s]),b=g.attr(a.attribute),v=g.attr(a.imageBaseAttribute)||l,p=g.attr(a.loaderAttribute);g.data(c)||a.visibleOnly&&!g.is(":visible")||!((b||g.attr(f))&&(h===N&&(v+b!==g.attr(E)||g.attr(f)!==g.attr(F))||h!==N&&v+b!==g.css(O))||p)||(u=!0,g.data(c,!0),d(g,h,v,p))}u&&(i=n(i).filter(function(){return!n(this).data(c)}))}function d(t,e,r,i){++z;var o=function(){y("onError",t),p(),o=n.noop};y("beforeLoad",t);var u=a.attribute,l=a.srcsetAttribute,f=a.sizesAttribute,c=a.retinaAttribute,s=a.removeAttribute,d=a.loadedName,A=t.attr(c);if(i){var g=function(){s&&t.removeAttr(a.loaderAttribute),t.data(d,!0),y(T,t),setTimeout(p,1),g=n.noop};t.off(I).one(I,o).one(D,g),y(i,t,function(e){e?(t.off(D),g()):(t.off(I),o())})||t.trigger(I)}else{var h=n(new Image);h.one(I,o).one(D,function(){t.hide(),e===N?t.attr(C,h.attr(C)).attr(F,h.attr(F)).attr(E,h.attr(E)):t.css(O,"url('"+h.attr(E)+"')"),t[a.effect](a.effectTime),s&&(t.removeAttr(u+" "+l+" "+c+" "+a.imageBaseAttribute),f!==C&&t.removeAttr(f)),t.data(d,!0),y(T,t),h.remove(),p()});var m=(L&&A?A:t.attr(u))||"";h.attr(C,t.attr(f)).attr(F,t.attr(l)).attr(E,m?r+m:null),h.complete&&h.trigger(D)}}function A(t){var e=t.getBoundingClientRect(),r=a.scrollDirection,n=a.threshold,i=h()+n>e.top&&-n<e.bottom,o=g()+n>e.left&&-n<e.right;return"vertical"===r?i:"horizontal"===r?o:i&&o}function g(){return w>=0?w:w=n(t).width()}function h(){return B>=0?B:B=n(t).height()}function m(t){return t.tagName.toLowerCase()}function b(t,e){if(e){var r=t.split(",");t="";for(var a=0,n=r.length;a<n;a++)t+=e+r[a].trim()+(a!==n-1?",":"")}return t}function v(t,e){var n,i=0;return function(o,u){function l(){i=+new Date,e.call(r,o)}var f=+new Date-i;n&&clearTimeout(n),f>t||!a.enableThrottle||u?l():n=setTimeout(l,t-f)}}function p(){--z,i.length||z||y("onFinishedAll")}function y(t,e,n){return!!(t=a[t])&&(t.apply(r,[].slice.call(arguments,1)),!0)}var z=0,w=-1,B=-1,L=!1,T="afterLoad",D="load",I="error",N="img",E="src",F="srcset",C="sizes",O="background-image";"event"===a.bind||o?f():n(t).on(D+"."+l,f)}function a(a,o){var u=this,l=n.extend({},u.config,o),f={},c=l.name+"-"+ ++i;return u.config=function(t,r){return r===e?l[t]:(l[t]=r,u)},u.addItems=function(t){return f.a&&f.a("string"===n.type(t)?n(t):t),u},u.getItems=function(){return f.g?f.g():{}},u.update=function(t){return f.e&&f.e({},!t),u},u.force=function(t){return f.f&&f.f("string"===n.type(t)?n(t):t),u},u.loadAll=function(){return f.e&&f.e({all:!0},!0),u},u.destroy=function(){return n(l.appendScroll).off("."+c,f.e),n(t).off("."+c),f={},e},r(u,l,a,f,c),l.chainable?a:u}var n=t.jQuery||t.Zepto,i=0,o=!1;n.fn.Lazy=n.fn.lazy=function(t){return new a(this,t)},n.Lazy=n.lazy=function(t,r,i){if(n.isFunction(r)&&(i=r,r=[]),n.isFunction(i)){t=n.isArray(t)?t:[t],r=n.isArray(r)?r:[r];for(var o=a.prototype.config,u=o._f||(o._f={}),l=0,f=t.length;l<f;l++)(o[t[l]]===e||n.isFunction(o[t[l]]))&&(o[t[l]]=i);for(var c=0,s=r.length;c<s;c++)u[r[c]]=t[0]}},a.prototype.config={name:"lazy",chainable:!0,autoDestroy:!0,bind:"load",threshold:500,visibleOnly:!1,appendScroll:t,scrollDirection:"both",imageBase:null,defaultImage:"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",placeholder:null,delay:-1,combined:!1,attribute:"data-src",srcsetAttribute:"data-srcset",sizesAttribute:"data-sizes",retinaAttribute:"data-retina",loaderAttribute:"data-loader",imageBaseAttribute:"data-imagebase",removeAttribute:!0,handledName:"handled",loadedName:"loaded",effect:"show",effectTime:0,enableThrottle:!0,throttle:250,beforeLoad:e,afterLoad:e,onError:e,onFinishedAll:e},n(t).on("load",function(){o=!0})}(window);
1
+ /*! jQuery & Zepto Lazy v1.7.10 - http://jquery.eisbehr.de/lazy - MIT&GPL-2.0 license - Copyright 2012-2018 Daniel 'Eisbehr' Kern */
2
  !function(t,e){"use strict";function r(r,a,i,u,l){function f(){L=t.devicePixelRatio>1,i=c(i),a.delay>=0&&setTimeout(function(){s(!0)},a.delay),(a.delay<0||a.combined)&&(u.e=v(a.throttle,function(t){"resize"===t.type&&(w=B=-1),s(t.all)}),u.a=function(t){t=c(t),i.push.apply(i,t)},u.g=function(){return i=n(i).filter(function(){return!n(this).data(a.loadedName)})},u.f=function(t){for(var e=0;e<t.length;e++){var r=i.filter(function(){return this===t[e]});r.length&&s(!1,r)}},s(),n(a.appendScroll).on("scroll."+l+" resize."+l,u.e))}function c(t){var i=a.defaultImage,o=a.placeholder,u=a.imageBase,l=a.srcsetAttribute,f=a.loaderAttribute,c=a._f||{};t=n(t).filter(function(){var t=n(this),r=m(this);return!t.data(a.handledName)&&(t.attr(a.attribute)||t.attr(l)||t.attr(f)||c[r]!==e)}).data("plugin_"+a.name,r);for(var s=0,d=t.length;s<d;s++){var A=n(t[s]),g=m(t[s]),h=A.attr(a.imageBaseAttribute)||u;g===N&&h&&A.attr(l)&&A.attr(l,b(A.attr(l),h)),c[g]===e||A.attr(f)||A.attr(f,c[g]),g===N&&i&&!A.attr(E)?A.attr(E,i):g===N||!o||A.css(O)&&"none"!==A.css(O)||A.css(O,"url('"+o+"')")}return t}function s(t,e){if(!i.length)return void(a.autoDestroy&&r.destroy());for(var o=e||i,u=!1,l=a.imageBase||"",f=a.srcsetAttribute,c=a.handledName,s=0;s<o.length;s++)if(t||e||A(o[s])){var g=n(o[s]),h=m(o[s]),b=g.attr(a.attribute),v=g.attr(a.imageBaseAttribute)||l,p=g.attr(a.loaderAttribute);g.data(c)||a.visibleOnly&&!g.is(":visible")||!((b||g.attr(f))&&(h===N&&(v+b!==g.attr(E)||g.attr(f)!==g.attr(F))||h!==N&&v+b!==g.css(O))||p)||(u=!0,g.data(c,!0),d(g,h,v,p))}u&&(i=n(i).filter(function(){return!n(this).data(c)}))}function d(t,e,r,i){++z;var o=function(){y("onError",t),p(),o=n.noop};y("beforeLoad",t);var u=a.attribute,l=a.srcsetAttribute,f=a.sizesAttribute,c=a.retinaAttribute,s=a.removeAttribute,d=a.loadedName,A=t.attr(c);if(i){var g=function(){s&&t.removeAttr(a.loaderAttribute),t.data(d,!0),y(T,t),setTimeout(p,1),g=n.noop};t.off(I).one(I,o).one(D,g),y(i,t,function(e){e?(t.off(D),g()):(t.off(I),o())})||t.trigger(I)}else{var h=n(new Image);h.one(I,o).one(D,function(){t.hide(),e===N?t.attr(C,h.attr(C)).attr(F,h.attr(F)).attr(E,h.attr(E)):t.css(O,"url('"+h.attr(E)+"')"),t[a.effect](a.effectTime),s&&(t.removeAttr(u+" "+l+" "+c+" "+a.imageBaseAttribute),f!==C&&t.removeAttr(f)),t.data(d,!0),y(T,t),h.remove(),p()});var m=(L&&A?A:t.attr(u))||"";h.attr(C,t.attr(f)).attr(F,t.attr(l)).attr(E,m?r+m:null),h.complete&&h.trigger(D)}}function A(t){var e=t.getBoundingClientRect(),r=a.scrollDirection,n=a.threshold,i=h()+n>e.top&&-n<e.bottom,o=g()+n>e.left&&-n<e.right;return"vertical"===r?i:"horizontal"===r?o:i&&o}function g(){return w>=0?w:w=n(t).width()}function h(){return B>=0?B:B=n(t).height()}function m(t){return t.tagName.toLowerCase()}function b(t,e){if(e){var r=t.split(",");t="";for(var a=0,n=r.length;a<n;a++)t+=e+r[a].trim()+(a!==n-1?",":"")}return t}function v(t,e){var n,i=0;return function(o,u){function l(){i=+new Date,e.call(r,o)}var f=+new Date-i;n&&clearTimeout(n),f>t||!a.enableThrottle||u?l():n=setTimeout(l,t-f)}}function p(){--z,i.length||z||y("onFinishedAll")}function y(t,e,n){return!!(t=a[t])&&(t.apply(r,[].slice.call(arguments,1)),!0)}var z=0,w=-1,B=-1,L=!1,T="afterLoad",D="load",I="error",N="img",E="src",F="srcset",C="sizes",O="background-image";"event"===a.bind||o?f():n(t).on(D+"."+l,f)}function a(a,o){var u=this,l=n.extend({},u.config,o),f={},c=l.name+"-"+ ++i;return u.config=function(t,r){return r===e?l[t]:(l[t]=r,u)},u.addItems=function(t){return f.a&&f.a("string"===n.type(t)?n(t):t),u},u.getItems=function(){return f.g?f.g():{}},u.update=function(t){return f.e&&f.e({},!t),u},u.force=function(t){return f.f&&f.f("string"===n.type(t)?n(t):t),u},u.loadAll=function(){return f.e&&f.e({all:!0},!0),u},u.destroy=function(){return n(l.appendScroll).off("."+c,f.e),n(t).off("."+c),f={},e},r(u,l,a,f,c),l.chainable?a:u}var n=t.jQuery||t.Zepto,i=0,o=!1;n.fn.Lazy=n.fn.lazy=function(t){return new a(this,t)},n.Lazy=n.lazy=function(t,r,i){if(n.isFunction(r)&&(i=r,r=[]),n.isFunction(i)){t=n.isArray(t)?t:[t],r=n.isArray(r)?r:[r];for(var o=a.prototype.config,u=o._f||(o._f={}),l=0,f=t.length;l<f;l++)(o[t[l]]===e||n.isFunction(o[t[l]]))&&(o[t[l]]=i);for(var c=0,s=r.length;c<s;c++)u[r[c]]=t[0]}},a.prototype.config={name:"lazy",chainable:!0,autoDestroy:!0,bind:"load",threshold:500,visibleOnly:!1,appendScroll:t,scrollDirection:"both",imageBase:null,defaultImage:"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",placeholder:null,delay:-1,combined:!1,attribute:"data-src",srcsetAttribute:"data-srcset",sizesAttribute:"data-sizes",retinaAttribute:"data-retina",loaderAttribute:"data-loader",imageBaseAttribute:"data-imagebase",removeAttribute:!0,handledName:"handled",loadedName:"loaded",effect:"show",effectTime:0,enableThrottle:!0,throttle:250,beforeLoad:e,afterLoad:e,onError:e,onFinishedAll:e},n(t).on("load",function(){o=!0})}(window);
public/partials/blossomthemes-instagram-feed-public-display.php CHANGED
@@ -1,48 +1,49 @@
1
- <?php
2
-
3
- /**
4
- * Provide a public-facing view for the plugin
5
- *
6
- * This file is used to markup the public-facing aspects of the plugin.
7
- *
8
- * @link https://blossomthemes.com
9
- * @since 1.0.0
10
- *
11
- * @package Blossomthemes_Instagram_Feed
12
- * @subpackage Blossomthemes_Instagram_Feed/public/partials
13
- */
14
- ?>
15
-
16
- <!-- This file should primarily consist of HTML with a little bit of PHP. -->
17
- <ul class="popup-gallery photos-<?php echo $settings['photos_row'];?>">
18
- <?php foreach ( $items as $item ) : ?>
19
- <li>
20
- <?php if( 'VIDEO' === $item->media_type ) : ?>
21
- <a href="<?php echo esc_url($item->media_url); ?>" class="mfp-iframe">
22
- <?php if( $settings['enable_lazy_load'] ) : ?>
23
- <img class="btif-lazy-load" data-src="<?php echo esc_url($item->thumbnail_url); ?>"
24
- data-alt="<?php echo esc_attr($item->caption); ?>">
25
- <?php else: ?>
26
- <img src="<?php echo esc_url($item->thumbnail_url); ?>"
27
- alt="<?php echo esc_attr($item->caption); ?>">
28
- <?php endif; ?>
29
- </a>
30
- <?php else: ?>
31
- <a href="<?php echo esc_url($item->media_url); ?>">
32
- <?php if( $settings['enable_lazy_load'] ) : ?>
33
- <img class="btif-lazy-load" data-src="<?php echo esc_url($item->media_url); ?>"
34
- data-alt="<?php echo esc_attr($item->caption); ?>">
35
- <?php else: ?>
36
- <img src="<?php echo esc_url($item->media_url); ?>"
37
- alt="<?php echo esc_attr($item->caption); ?>">
38
- <?php endif; ?>
39
- </a>
40
- <?php endif; ?>
41
- </li>
42
- <?php endforeach; ?>
43
- </ul>
44
-
45
- <a class="profile-link" href="<?php echo esc_url($instaUrl);?>" target="_blank" rel="noreferrer">
46
- <span class="insta-icon"><i class="fab fa-instagram"></i></span><?php echo esc_html( $settings['follow_me'] );?>
47
- </a>
48
- <?php
 
1
+ <?php
2
+
3
+ /**
4
+ * Provide a public-facing view for the plugin
5
+ *
6
+ * This file is used to markup the public-facing aspects of the plugin.
7
+ *
8
+ * @link https://blossomthemes.com
9
+ * @since 1.0.0
10
+ *
11
+ * @package Blossomthemes_Instagram_Feed
12
+ * @subpackage Blossomthemes_Instagram_Feed/public/partials
13
+ */
14
+ ?>
15
+
16
+ <!-- This file should primarily consist of HTML with a little bit of PHP. -->
17
+ <ul class="popup-gallery photos-<?php echo $settings['photos_row']; echo $settings['enable_square_images'] ? ' btif-square-images' : ''; ?>">
18
+ <?php foreach ( $items as $item ) : ?>
19
+ <li>
20
+ <?php if( 'VIDEO' === $item->media_type ) : ?>
21
+ <a href="<?php echo esc_url($item->media_url); ?>" class="mfp-iframe">
22
+ <?php if( $settings['enable_lazy_load'] ) : ?>
23
+ <img class="btif-lazy-load" data-src="<?php echo esc_url($item->thumbnail_url); ?>"
24
+ data-alt="<?php echo esc_attr($item->caption); ?>">
25
+ <?php else: ?>
26
+ <img src="<?php echo esc_url($item->thumbnail_url); ?>"
27
+ alt="<?php echo esc_attr($item->caption); ?>">
28
+ <?php endif; ?>
29
+ </a>
30
+ <?php else: ?>
31
+ <a href="<?php echo esc_url($item->media_url); ?>">
32
+ <?php if( $settings['enable_lazy_load'] ) : ?>
33
+ <img class="btif-lazy-load" data-src="<?php echo esc_url($item->media_url); ?>"
34
+ data-alt="<?php echo esc_attr($item->caption); ?>">
35
+ <?php else: ?>
36
+ <img src="<?php echo esc_url($item->media_url); ?>"
37
+ alt="<?php echo esc_attr($item->caption); ?>">
38
+ <?php endif; ?>
39
+ </a>
40
+ <?php endif; ?>
41
+ </li>
42
+ <?php endforeach; ?>
43
+ </ul>
44
+
45
+ <a class="profile-link" href="<?php echo esc_url($instaUrl);?>" target="_blank" rel="noreferrer">
46
+ <span class="insta-icon"><i class="fab fa-instagram"></i></span><?php echo esc_html( $settings['follow_me'] );?>
47
+ </a>
48
+
49
+ <?php