Changeset 3319558
- Timestamp:
- 06/29/2025 08:07:51 PM (9 months ago)
- Location:
- simple-photo-feed
- Files:
-
- 34 added
- 13 edited
-
tags/1.4.2 (added)
-
tags/1.4.2/LICENSE.txt (added)
-
tags/1.4.2/README.txt (added)
-
tags/1.4.2/admin (added)
-
tags/1.4.2/admin/class-simple-photo-feed-admin.php (added)
-
tags/1.4.2/admin/css (added)
-
tags/1.4.2/admin/css/simple-photo-feed-admin.css (added)
-
tags/1.4.2/admin/index.php (added)
-
tags/1.4.2/admin/js (added)
-
tags/1.4.2/admin/js/simple-photo-feed-admin.js (added)
-
tags/1.4.2/admin/partials (added)
-
tags/1.4.2/admin/partials/simple-photo-feed-admin-display.php (added)
-
tags/1.4.2/includes (added)
-
tags/1.4.2/includes/class-simple-photo-feed-activator.php (added)
-
tags/1.4.2/includes/class-simple-photo-feed-api.php (added)
-
tags/1.4.2/includes/class-simple-photo-feed-deactivator.php (added)
-
tags/1.4.2/includes/class-simple-photo-feed-i18n.php (added)
-
tags/1.4.2/includes/class-simple-photo-feed-loader.php (added)
-
tags/1.4.2/includes/class-simple-photo-feed.php (added)
-
tags/1.4.2/includes/index.php (added)
-
tags/1.4.2/index.php (added)
-
tags/1.4.2/languages (added)
-
tags/1.4.2/languages/simple-photo-feed.pot (added)
-
tags/1.4.2/public (added)
-
tags/1.4.2/public/class-simple-photo-feed-public.php (added)
-
tags/1.4.2/public/css (added)
-
tags/1.4.2/public/css/simple-photo-feed-public.css (added)
-
tags/1.4.2/public/index.php (added)
-
tags/1.4.2/public/js (added)
-
tags/1.4.2/public/js/simple-photo-feed-public.js (added)
-
tags/1.4.2/public/partials (added)
-
tags/1.4.2/public/partials/simple-photo-feed-public-display.php (added)
-
tags/1.4.2/simple-photo-feed.php (added)
-
tags/1.4.2/uninstall.php (added)
-
trunk/README.txt (modified) (5 diffs)
-
trunk/admin/class-simple-photo-feed-admin.php (modified) (4 diffs)
-
trunk/admin/css/simple-photo-feed-admin.css (modified) (1 diff)
-
trunk/includes/class-simple-photo-feed-activator.php (modified) (1 diff)
-
trunk/includes/class-simple-photo-feed-api.php (modified) (3 diffs)
-
trunk/includes/class-simple-photo-feed-deactivator.php (modified) (1 diff)
-
trunk/includes/class-simple-photo-feed-i18n.php (modified) (1 diff)
-
trunk/includes/class-simple-photo-feed-loader.php (modified) (1 diff)
-
trunk/includes/class-simple-photo-feed.php (modified) (2 diffs)
-
trunk/public/class-simple-photo-feed-public.php (modified) (2 diffs)
-
trunk/public/css/simple-photo-feed-public.css (modified) (3 diffs)
-
trunk/public/partials/simple-photo-feed-public-display.php (modified) (3 diffs)
-
trunk/simple-photo-feed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
simple-photo-feed/trunk/README.txt
r3241539 r3319558 4 4 Tags: photo gallery, instagram, feed, social, embed 5 5 Requires at least: 5.3.0 6 Tested up to: 6. 7.26 Tested up to: 6.8 7 7 Requires PHP: 7.2 8 Stable tag: 1.4. 18 Stable tag: 1.4.2 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 28 28 29 29 * Increase Social Engagement – Increase engagement between you and your Instagram followers. Increase your number of followers by displaying your Instagram content directly on your site. 30 * Save Time – Don ’t have time to update your photos on your site? Save time and increase efficiency by only posting your photos to Instagram and automatically displaying them on your website30 * Save Time – Don't have time to update your photos on your site? Save time and increase efficiency by only posting your photos to Instagram and automatically displaying them on your website 31 31 * Keep Your Site Looking Fresh – Automatically push your new Instagram content straight to your site to keep it looking fresh and keeping your audience engaged. 32 32 * Super simple to set up – Once installed, you can be displaying your Instagram photos within 30 seconds! No coding required, no complex steps or Instagram Developer account needed. … … 65 65 Unfortunately, not anymore. Meta has decided to deprecate the Instagram Basic API and [turn it off on December 4th, 2024](https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api/). That was the API that regular, personal accounts could use to have access to their media posts. The only solution to embed your instagram images in your WordPress site now is to use [their Business APIs](https://developers.facebook.com/docs/instagram-platform). That means you must change your account to [a Creator or Business type](https://help.instagram.com/502981923235522#how-to-switch-your-creator-account-to-a-business-account-on-instagram). This is a very easy process and you can [always switch back](https://help.instagram.com/1717693135113805/). 66 66 67 = My Instagram feed isn ’t displaying. Why not!? =67 = My Instagram feed isn't displaying. Why not!? = 68 68 69 69 There are a few common reasons for this: … … 74 74 * You have a Personal account. Please switch to Creator or Business account. 75 75 76 If you ’re still having an issue displaying your feed then please open a ticket in the [Support forum](https://wordpress.org/support/plugin/simple-photo-feed) with a link to the page where you're trying to display the Instagram feed and, if possible, a link to your Instagram account.76 If you're still having an issue displaying your feed then please open a ticket in the [Support forum](https://wordpress.org/support/plugin/simple-photo-feed) with a link to the page where you're trying to display the Instagram feed and, if possible, a link to your Instagram account. 77 77 78 78 = Does "Simple Photo Feed" require manual coding or file editing? = … … 94 94 95 95 == Changelog == 96 97 = 1.4.2 = 98 * Ensure compatibility with WP 6.8 99 * Improved code maintainability and security 100 * Ensured full WordPress coding standards compliance (PHPCS) 96 101 97 102 = 1.4.1 = -
simple-photo-feed/trunk/admin/class-simple-photo-feed-admin.php
r3241539 r3319558 1 1 <?php 2 2 /** 3 * Class Simple_Photo_Feed_Admin3 * The admin-specific functionality of the plugin. 4 4 * 5 5 * @link https://gp-web.dev/ … … 7 7 * 8 8 * @package Simple_Photo_Feed 9 * @subpackage Simple_Photo_Feed/ includes9 * @subpackage Simple_Photo_Feed/admin 10 10 */ 11 12 if ( ! defined( 'ABSPATH' ) ) { 13 exit; // Exit if accessed directly. 14 } 11 15 12 16 /** … … 197 201 public function spf_disconnect_user() { 198 202 $nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : ''; 199 if ( ! current_user_can( 'edit_posts') || ! wp_verify_nonce( $nonce, 'simple-photo-feed-nonce' ) ) {203 if ( ! current_user_can( 'edit_posts' ) || ! wp_verify_nonce( $nonce, 'simple-photo-feed-nonce' ) ) { 200 204 wp_send_json_error( esc_html__( 'Unauthorized!', 'simple-photo-feed' ), 403 ); 201 205 return; … … 226 230 public function spf_clear_feed_cache() { 227 231 $nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : ''; 228 if ( ! current_user_can( 'edit_posts') || ! wp_verify_nonce( $nonce, 'simple-photo-feed-nonce' ) ) {232 if ( ! current_user_can( 'edit_posts' ) || ! wp_verify_nonce( $nonce, 'simple-photo-feed-nonce' ) ) { 229 233 wp_send_json_error( esc_html__( 'Unauthorized!', 'simple-photo-feed' ), 403 ); 230 234 return; -
simple-photo-feed/trunk/admin/css/simple-photo-feed-admin.css
r3069975 r3319558 1 1 .spf_main_wrap { 2 display: flex;3 flex-direction: row;4 justify-content: space-between;5 flex-wrap: wrap;6 max-width: 1080px;2 display: flex; 3 flex-direction: row; 4 justify-content: space-between; 5 flex-wrap: wrap; 6 max-width: 1080px; 7 7 } 8 8 9 9 .spf_main_left { 10 background: #ffffff;11 border-radius: 10px;12 padding: 0 2%;13 flex-basis: 54%;10 background: #ffffff; 11 border-radius: 10px; 12 padding: 0 2%; 13 flex-basis: 54%; 14 14 } 15 15 16 16 .spf_main_right { 17 background: #ffffff;18 border-radius: 10px;19 padding: 20px 2%;20 flex-basis: 36%;17 background: #ffffff; 18 border-radius: 10px; 19 padding: 20px 2%; 20 flex-basis: 36%; 21 21 } 22 22 23 23 .spf_main_right pre { 24 background: #f1f2f3;25 padding: 0.5rem;24 background: #f1f2f3; 25 padding: 0.5rem; 26 26 } 27 27 28 28 .spf_main_left input[type="text"] { 29 min-width: 300px;30 width: 100%;31 display: block;29 min-width: 300px; 30 width: 100%; 31 display: block; 32 32 } 33 33 34 34 .spf_main_left .form-table th { 35 width: 120px;35 width: 120px; 36 36 } 37 37 38 38 .spf_main_bottom { 39 flex-grow: 1;40 text-align: right;39 flex-grow: 1; 40 text-align: right; 41 41 } 42 42 43 43 a.spf_profile_link.button-primary { 44 display: inline-flex;45 align-items: center;46 justify-content: center;44 display: inline-flex; 45 align-items: center; 46 justify-content: center; 47 47 } 48 48 49 49 a.spf_profile_link.button-primary .dashicons { 50 font-size: 16px;51 margin-right: 6px;52 width: 16px;53 height: 16px;54 display: block;50 font-size: 16px; 51 margin-right: 6px; 52 width: 16px; 53 height: 16px; 54 display: block; 55 55 } 56 56 57 57 table.spf_profile { 58 margin: 0.5rem 0;59 width: 100%;60 border: 1px solid #ddd;61 padding: 0.5rem;62 border-radius: 0.25rem;58 margin: 0.5rem 0; 59 width: 100%; 60 border: 1px solid #ddd; 61 padding: 0.5rem; 62 border-radius: 0.25rem; 63 63 } 64 64 65 65 table.spf_profile th { 66 color: #5851db;67 padding: 0;66 color: #5851db; 67 padding: 0; 68 68 } 69 69 70 70 table.spf_profile td { 71 padding: 0;72 color: #833ab4;71 padding: 0; 72 color: #833ab4; 73 73 } 74 74 75 75 .spf_profile_row.hidden { 76 display: none;76 display: none; 77 77 } 78 78 79 79 .spf-dual-ring.hidden { 80 display: none;80 display: none; 81 81 } 82 82 83 83 .spf-dual-ring { 84 display: inline-block;85 width: 90px;86 height: 90px;84 display: inline-block; 85 width: 90px; 86 height: 90px; 87 87 } 88 88 89 89 .spf-dual-ring:after { 90 content: " ";91 display: block;92 width: 64px;93 height: 64px;94 margin: 16px;95 border-radius: 50%;96 border: 6px solid #5851db;97 border-color: #833ab4 transparent #5851db transparent;98 animation: spf-dual-ring 1.2s linear infinite;90 content: " "; 91 display: block; 92 width: 64px; 93 height: 64px; 94 margin: 16px; 95 border-radius: 50%; 96 border: 6px solid #5851db; 97 border-color: #833ab4 transparent #5851db transparent; 98 animation: spf-dual-ring 1.2s linear infinite; 99 99 } 100 100 101 101 .spf-dual-ring#spf-loader-small { 102 width: 50px;103 height: 50px;102 width: 50px; 103 height: 50px; 104 104 } 105 105 106 106 .spf-dual-ring#spf-loader-small:after { 107 width: 32px;108 height: 32px;109 margin: 8px;107 width: 32px; 108 height: 32px; 109 margin: 8px; 110 110 } 111 111 112 112 .spf_main_left .notice-error, 113 113 .spf_main_left .notice-warning { 114 margin: 0;115 padding: 0.6rem;114 margin: 0; 115 padding: 0.6rem; 116 116 } 117 117 118 118 @keyframes spf-dual-ring { 119 0% {119 0% { 120 120 transform: rotate(0deg); 121 }121 } 122 122 123 100% {123 100% { 124 124 transform: rotate(360deg); 125 }125 } 126 126 } 127 127 128 128 .spf_main_wrap .button-primary { 129 background: #5851db;130 border-color: #5851db;131 border-radius: 0.25rem;129 background: #5851db; 130 border-color: #5851db; 131 border-radius: 0.25rem; 132 132 } 133 133 134 134 .spf_main_wrap .button-secondary { 135 color: #5851db;136 border-color: #5851db;137 border-radius: 0.25rem;135 color: #5851db; 136 border-color: #5851db; 137 border-radius: 0.25rem; 138 138 } 139 139 140 140 .spf_main_wrap .button-primary:hover, 141 141 .spf_main_wrap .button-secondary:hover { 142 background: #833ab4;143 border-color: #833ab4;144 color: #fff;142 background: #833ab4; 143 border-color: #833ab4; 144 color: #fff; 145 145 } 146 146 147 147 .spf_main_title, 148 148 .spf_main_right h2 { 149 color: #2821ab;149 color: #2821ab; 150 150 } 151 151 152 152 .spf_main_right h3 { 153 color: #5851db;153 color: #5851db; 154 154 } 155 155 156 156 .spf_main_title .dashicons:before, 157 157 .spf_main_right .dashicons:before { 158 background: -moz-linear-gradient(top, #833ab4 0%, #5851db 100%);159 background: -webkit-linear-gradient(top, #833ab4 0%, #5851db 100%);160 background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);161 -webkit-background-clip: text;162 -moz-background-clip: text;163 background-clip: text;164 -webkit-text-fill-color: transparent;158 background: -moz-linear-gradient(top, #833ab4 0%, #5851db 100%); 159 background: -webkit-linear-gradient(top, #833ab4 0%, #5851db 100%); 160 background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); 161 -webkit-background-clip: text; 162 -moz-background-clip: text; 163 background-clip: text; 164 -webkit-text-fill-color: transparent; 165 165 } 166 166 167 167 @media only screen and (max-width: 1080px) { 168 .spf_main_wrap {168 .spf_main_wrap { 169 169 flex-direction: column; 170 }170 } 171 171 172 .spf_main_left,173 .spf_main_right {172 .spf_main_left, 173 .spf_main_right { 174 174 margin: 0 20px 20px 0; 175 175 flex-basis: 100%; 176 }176 } 177 177 178 .spf_main_bottom {178 .spf_main_bottom { 179 179 margin: 0 20px 0 0; 180 }180 } 181 181 } -
simple-photo-feed/trunk/includes/class-simple-photo-feed-activator.php
r3013593 r3319558 9 9 * @subpackage Simple_Photo_Feed/includes 10 10 */ 11 12 if ( ! defined( 'ABSPATH' ) ) { 13 exit; // Exit if accessed directly. 14 } 11 15 12 16 /** -
simple-photo-feed/trunk/includes/class-simple-photo-feed-api.php
r3211228 r3319558 9 9 * @subpackage Simple_Photo_Feed/includes 10 10 */ 11 12 if ( ! defined( 'ABSPATH' ) ) { 13 exit; // Exit if accessed directly. 14 } 11 15 12 16 /** … … 217 221 * 218 222 * @param array $old Our old options value. 219 * @param array $ newOur new updated options.220 * @since 1.0.0 221 */ 222 public function spf_setup_cron_job( $old, $ new) {223 224 switch ( $ new['cron_time'] ) {223 * @param array $updated Our new updated options. 224 * @since 1.0.0 225 */ 226 public function spf_setup_cron_job( $old, $updated ) { 227 228 switch ( $updated['cron_time'] ) { 225 229 case 1: 226 230 $interval = 'hourly'; … … 240 244 } 241 245 242 if ( (bool) $ new['auth'] ) {243 244 if ( $old['cron_time'] !== $ new['cron_time'] ) {246 if ( (bool) $updated['auth'] ) { 247 248 if ( $old['cron_time'] !== $updated['cron_time'] ) { 245 249 wp_clear_scheduled_hook( 'simple_photo_update_feed' ); 246 250 } -
simple-photo-feed/trunk/includes/class-simple-photo-feed-deactivator.php
r3013593 r3319558 9 9 * @subpackage Simple_Photo_Feed/includes 10 10 */ 11 12 if ( ! defined( 'ABSPATH' ) ) { 13 exit; // Exit if accessed directly. 14 } 11 15 12 16 /** -
simple-photo-feed/trunk/includes/class-simple-photo-feed-i18n.php
r3013593 r3319558 12 12 * @subpackage Simple_Photo_Feed/includes 13 13 */ 14 15 if ( ! defined( 'ABSPATH' ) ) { 16 exit; // Exit if accessed directly. 17 } 14 18 15 19 /** -
simple-photo-feed/trunk/includes/class-simple-photo-feed-loader.php
r3013593 r3319558 9 9 * @subpackage Simple_Photo_Feed/includes 10 10 */ 11 12 if ( ! defined( 'ABSPATH' ) ) { 13 exit; // Exit if accessed directly. 14 } 11 15 12 16 /** -
simple-photo-feed/trunk/includes/class-simple-photo-feed.php
r3211228 r3319558 12 12 * @subpackage Simple_Photo_Feed/includes 13 13 */ 14 15 if ( ! defined( 'ABSPATH' ) ) { 16 exit; // Exit if accessed directly. 17 } 14 18 15 19 /** … … 77 81 $this->define_public_hooks(); 78 82 79 $options = get_option( 'spf_main_settings', array( 'token' => '', 'cron_time' => '', 'app_id' => '', 'app_secret' => '' ) ); 83 $options = get_option( 84 'spf_main_settings', 85 array( 86 'token' => '', 87 'cron_time' => '', 88 'app_id' => '', 89 'app_secret' => '', 90 ) 91 ); 80 92 81 93 // phpcs:disable -
simple-photo-feed/trunk/public/class-simple-photo-feed-public.php
r3117290 r3319558 1 1 <?php 2 2 /** 3 * The frontendfunctionality of the plugin.3 * The public-facing functionality of the plugin. 4 4 * 5 5 * @link https://gp-web.dev/ … … 9 9 * @subpackage Simple_Photo_Feed/public 10 10 */ 11 12 if ( ! defined( 'ABSPATH' ) ) { 13 exit; // Exit if accessed directly. 14 } 11 15 12 16 /** -
simple-photo-feed/trunk/public/css/simple-photo-feed-public.css
r3117290 r3319558 1 1 .spf_container { 2 width: 100%;3 display: grid;4 grid-template-columns: 1fr 1fr 1fr;5 gap: 0.5rem;6 padding: 1rem;7 white-space: normal;2 width: 100%; 3 display: grid; 4 grid-template-columns: 1fr 1fr 1fr; 5 gap: 0.5rem; 6 padding: 1rem; 7 white-space: normal; 8 8 } 9 9 10 10 .spf_container.spf_size_small { 11 grid-template-columns: repeat(5, 1fr);11 grid-template-columns: repeat(5, 1fr); 12 12 } 13 13 14 14 .spf_container .spf_item { 15 position: relative;16 padding-bottom: 100%;17 overflow: hidden;15 position: relative; 16 padding-bottom: 100%; 17 overflow: hidden; 18 18 } 19 19 20 20 .spf_container .spf_item img { 21 position: absolute;22 top: 0;23 left: 0;24 margin: 0;25 object-fit: cover;26 width: 100%;27 height: 100%;28 transition: all 0.2s ease-in-out;21 position: absolute; 22 top: 0; 23 left: 0; 24 margin: 0; 25 object-fit: cover; 26 width: 100%; 27 height: 100%; 28 transition: all 0.2s ease-in-out; 29 29 } 30 30 31 31 .spf_container .spf_item img:hover, 32 32 .spf_container .spf_item a:focus img { 33 transform: scale(1.1);33 transform: scale(1.1); 34 34 } 35 35 36 36 .spf_caption { 37 font-size: 11px;38 padding: 0.5rem;37 font-size: 11px; 38 padding: 0.5rem; 39 39 } 40 40 41 41 #spf_lightbox_container { 42 position: fixed;43 top: 0;44 left: 0;45 right: 0;46 bottom: 0;47 background: rgba(0, 0, 0, 0.5);48 backdrop-filter: blur(5px);49 z-index: 99999999;42 position: fixed; 43 top: 0; 44 left: 0; 45 right: 0; 46 bottom: 0; 47 background: rgba(0, 0, 0, 0.5); 48 backdrop-filter: blur(5px); 49 z-index: 99999999; 50 50 } 51 51 52 52 #spf_lightbox_image_box { 53 position: fixed;54 top: 2em;55 left: 2em;56 right: calc(2em + 35%);57 bottom: 2em;58 text-align: center;53 position: fixed; 54 top: 2em; 55 left: 2em; 56 right: calc(2em + 35%); 57 bottom: 2em; 58 text-align: center; 59 59 } 60 60 61 61 #spf_lightbox_image_box img { 62 max-width: 100%;63 max-height: 100%;64 border: 2px solid #000;65 outline: 1px solid #ccc;66 box-sizing: border-box;67 position: absolute;68 left: 50%;69 top: 50%;70 translate: -50% -50%;62 max-width: 100%; 63 max-height: 100%; 64 border: 2px solid #000; 65 outline: 1px solid #ccc; 66 box-sizing: border-box; 67 position: absolute; 68 left: 50%; 69 top: 50%; 70 translate: -50% -50%; 71 71 } 72 72 73 73 #spf_lightbox_caption { 74 position: fixed;75 bottom: 11em;76 top: 7em;77 right: 2em;78 background: #222;79 color: #fff;80 padding: .5em;81 box-sizing: border-box;82 text-align: center;83 border: 1px solid #ccc;84 width: calc(35% - 4em);85 overflow-y: auto;86 text-align: left;74 position: fixed; 75 bottom: 11em; 76 top: 7em; 77 right: 2em; 78 background: #222; 79 color: #fff; 80 padding: .5em; 81 box-sizing: border-box; 82 text-align: center; 83 border: 1px solid #ccc; 84 width: calc(35% - 4em); 85 overflow-y: auto; 86 text-align: left; 87 87 } 88 88 89 89 #spf_lightbox_link { 90 position: fixed;91 right: 2em;92 bottom: 7em;93 background: #222;94 color: #fff;95 padding: .5em;96 width: calc(35% - 4em);97 box-sizing: border-box;98 text-align: center;99 text-decoration: none;100 border: 1px solid #ccc;90 position: fixed; 91 right: 2em; 92 bottom: 7em; 93 background: #222; 94 color: #fff; 95 padding: .5em; 96 width: calc(35% - 4em); 97 box-sizing: border-box; 98 text-align: center; 99 text-decoration: none; 100 border: 1px solid #ccc; 101 101 } 102 102 #spf_lightbox_link:hover { 103 background: #444;103 background: #444; 104 104 } 105 105 … … 107 107 #spf_lightbox_prev > svg, 108 108 #spf_lightbox_close > svg { 109 width: 3em;110 height: 3em;111 color: #fff;109 width: 3em; 110 height: 3em; 111 color: #fff; 112 112 } 113 113 … … 115 115 #spf_lightbox_prev:hover > svg, 116 116 #spf_lightbox_close:hover > svg { 117 color: #aaaaaa;117 color: #aaaaaa; 118 118 } 119 119 120 120 #spf_lightbox_next { 121 position: fixed;122 right: 2em;123 transform: translateY(-50%);124 cursor: pointer;125 bottom: 1em;121 position: fixed; 122 right: 2em; 123 transform: translateY(-50%); 124 cursor: pointer; 125 bottom: 1em; 126 126 } 127 127 128 128 #spf_lightbox_prev { 129 position: fixed;130 transform: translateY(-50%);131 cursor: pointer;132 bottom: 1em;133 right: calc(35% - 5em);129 position: fixed; 130 transform: translateY(-50%); 131 cursor: pointer; 132 bottom: 1em; 133 right: calc(35% - 5em); 134 134 } 135 135 136 136 #spf_lightbox_close { 137 position: fixed;138 top: 2em;139 right: 2em;140 cursor: pointer;137 position: fixed; 138 top: 2em; 139 right: 2em; 140 cursor: pointer; 141 141 } 142 142 143 143 @media (orientation:portrait) { 144 #spf_lightbox_image_box {145 right: 2em;146 bottom: 16em;147 top: 7em;148 }144 #spf_lightbox_image_box { 145 right: 2em; 146 bottom: 16em; 147 top: 7em; 148 } 149 149 150 #spf_lightbox_caption {151 top: unset;152 left: 2em;153 width: unset;154 text-align: center;155 bottom: 2em;156 height: 8.8em;157 }150 #spf_lightbox_caption { 151 top: unset; 152 left: 2em; 153 width: unset; 154 text-align: center; 155 bottom: 2em; 156 height: 8.8em; 157 } 158 158 159 #spf_lightbox_link {160 bottom: 12em;161 right: 50%;162 translate: 50%;163 width: unset;164 max-width: calc(100% - 11em);165 }159 #spf_lightbox_link { 160 bottom: 12em; 161 right: 50%; 162 translate: 50%; 163 width: unset; 164 max-width: calc(100% - 11em); 165 } 166 166 167 #spf_lightbox_prev {168 left: 2em;169 right: unset;170 bottom: 9.8em;171 }167 #spf_lightbox_prev { 168 left: 2em; 169 right: unset; 170 bottom: 9.8em; 171 } 172 172 173 #spf_lightbox_next {174 bottom: 9.8em;175 }173 #spf_lightbox_next { 174 bottom: 9.8em; 175 } 176 176 } 177 177 178 178 @media only screen and (max-width: 768px) { 179 .spf_container {179 .spf_container { 180 180 grid-template-columns: 1fr 1fr; 181 181 padding: 1rem 0; 182 }182 } 183 183 184 .spf_container.spf_size_small {184 .spf_container.spf_size_small { 185 185 grid-template-columns: repeat(3, 1fr); 186 }186 } 187 187 } 188 188 189 189 @media only screen and (max-width: 480px) { 190 .spf_container {190 .spf_container { 191 191 grid-template-columns: 1fr; 192 }192 } 193 193 194 .spf_container.spf_size_small {194 .spf_container.spf_size_small { 195 195 grid-template-columns: 1fr 1fr; 196 }196 } 197 197 } -
simple-photo-feed/trunk/public/partials/simple-photo-feed-public-display.php
r3163760 r3319558 11 11 * @subpackage Simple_Photo_Feed/public/partials 12 12 */ 13 14 if ( ! defined( 'ABSPATH' ) ) { 15 exit; // Exit if accessed directly. 16 } 13 17 14 18 $options = get_option( 'spf_main_settings', array() ); … … 29 33 } 30 34 31 $url = 'VIDEO' !== $p->media_type ? $p->media_url : $p->thumbnail_url;35 $url = 'VIDEO' !== $p->media_type ? esc_url( $p->media_url ) : esc_url( $p->thumbnail_url ); 32 36 $caption = property_exists( $p, 'caption' ) ? $p->caption : esc_html__( 'No caption.', 'simple-photo-feed' ); 33 37 … … 40 44 echo '<a href="' . esc_url( $p->permalink ) . '" target="_blank" title="' . esc_attr( $caption ) . '"><img src="' . esc_url( $url ) . '" alt="" /></a>'; 41 45 } else { 42 echo '<a href="' . esc_url( $p->permalink ) . '" target="_blank" class="spf_lightbox" data-i="' . $i . '" data-count="' . count( $media ) . '" data-src="' . $url. '" data-url="' . esc_url( $p->permalink ) . '" title="' . nl2br( esc_attr( $caption ) ) . '">43 <img src="' . esc_url( $url ) . '" alt="" ' . ( 'on' == $text ? 'aria-labelledby="spf_' . $p->id . '"' : 'aria-label="' . esc_html( $caption ) . '"' ) . ' />46 echo '<a href="' . esc_url( $p->permalink ) . '" target="_blank" class="spf_lightbox" data-i="' . esc_attr( $i ) . '" data-count="' . esc_attr( count( $media ) ) . '" data-src="' . esc_url( $url ) . '" data-url="' . esc_url( $p->permalink ) . '" title="' . nl2br( esc_attr( $caption ) ) . '"> 47 <img src="' . esc_url( $url ) . '" alt="" ' . ( 'on' === $text ? 'aria-labelledby="spf_' . esc_attr( $p->id ) . '"' : 'aria-label="' . esc_attr( $caption ) . '"' ) . ' /> 44 48 </a>'; 45 49 } -
simple-photo-feed/trunk/simple-photo-feed.php
r3241539 r3319558 14 14 * Plugin URI: https://wordpress.org/plugins/simple-photo-feed/ 15 15 * Description: Simple Photo Feed provides an easy way to connect to your Instagram account and display your photos in your WordPress site. 16 * Version: 1.4. 116 * Version: 1.4.2 17 17 * Requires at least: 5.3.0 18 * Tested up to: 6. 7.218 * Tested up to: 6.8 19 19 * Requires PHP: 7.2 20 20 * Author: George Pattichis … … 34 34 * Current plugin version 35 35 */ 36 define( 'SPF_VERSION', '1.4. 1' );36 define( 'SPF_VERSION', '1.4.2' ); 37 37 38 38 /**
Note: See TracChangeset
for help on using the changeset viewer.