Changeset 2785538
- Timestamp:
- 09/15/2022 07:07:53 PM (4 years ago)
- Location:
- cinza-grid
- Files:
-
- 22 added
- 5 edited
-
tags/1.0.6 (added)
-
tags/1.0.6/assets (added)
-
tags/1.0.6/assets/css (added)
-
tags/1.0.6/assets/css/animate.min.css (added)
-
tags/1.0.6/assets/css/backend-admin.css (added)
-
tags/1.0.6/assets/css/backend-style.css (added)
-
tags/1.0.6/assets/css/frontend-style.css (added)
-
tags/1.0.6/assets/fonts (added)
-
tags/1.0.6/assets/fonts/icomoon.eot (added)
-
tags/1.0.6/assets/fonts/icomoon.svg (added)
-
tags/1.0.6/assets/fonts/icomoon.ttf (added)
-
tags/1.0.6/assets/fonts/icomoon.woff (added)
-
tags/1.0.6/assets/fonts/icomoon.woff2 (added)
-
tags/1.0.6/assets/js (added)
-
tags/1.0.6/assets/js/backend-script.js (added)
-
tags/1.0.6/assets/js/frontend-script.js (added)
-
tags/1.0.6/assets/js/isotope.pkgd.min.js (added)
-
tags/1.0.6/cinza-grid.php (added)
-
tags/1.0.6/includes (added)
-
tags/1.0.6/includes/backend-cpts.php (added)
-
tags/1.0.6/includes/backend-shortcodes.php (added)
-
tags/1.0.6/readme.txt (added)
-
trunk/assets/js/frontend-script.js (modified) (1 diff)
-
trunk/cinza-grid.php (modified) (1 diff)
-
trunk/includes/backend-cpts.php (modified) (5 diffs)
-
trunk/includes/backend-shortcodes.php (modified) (10 diffs)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
cinza-grid/trunk/assets/js/frontend-script.js
r2749981 r2785538 1 1 jQuery(document).ready(function($) { 2 2 3 3 }); 4 5 6 7 8 9 10 -
cinza-grid/trunk/cinza-grid.php
r2759601 r2785538 5 5 * Plugin URI: https://cinza.io/plugin/grid 6 6 * Description: A minimal grid plugin. 7 * Version: 1.0. 57 * Version: 1.0.6 8 8 * Requires at least: 5.2 9 9 * Requires PHP: 7.2 -
cinza-grid/trunk/includes/backend-cpts.php
r2759601 r2785538 116 116 } 117 117 118 // Remove CPT from SEO sitemap (for Rank Math SEO plugin) 119 // https://rankmath.com/kb/make-theme-rank-math-compatible/#exclude-post-type-from-sitemap 120 add_filter( 'rank_math/sitemap/exclude_post_type', function ($exclude, $type) { 121 if ('cinza_grid' === $type) { 122 $exclude = true; 123 } 124 return $exclude; 125 }, 10, 2); 126 127 // Remove CPT from SEO sitemap (for Yoast SEO plugin) 118 // Remove CPT from SEO sitemap and set robots to noindex nofollow (for Rank Math SEO plugin) 119 if ( in_array( 'seo-by-rank-math/rank-math.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { 120 121 // https://rankmath.com/kb/make-theme-rank-math-compatible/#exclude-post-type-from-sitemap 122 add_filter( 'rank_math/sitemap/exclude_post_type', function ($exclude, $type) { 123 if ($type === 'cinza_grid') { 124 $exclude = true; 125 } 126 return $exclude; 127 }, 10, 2); 128 129 // https://support.rankmath.com/ticket/cpt-noindex/ 130 add_filter( 'rank_math/frontend/robots', function( $robots ) { 131 if(get_post_type() == 'cinza_grid' ) { 132 $robots['index'] = 'noindex'; 133 $robots['follow'] = 'nofollow'; 134 } 135 return $robots; 136 }); 137 } 138 139 // [Possible future addition] Remove CPT from SEO sitemap (for Yoast SEO plugin) 128 140 // https://developer.yoast.com/features/xml-sitemaps/api/#exclude-specific-posts 129 141 // https://wordpress.org/support/topic/exclude-multiple-post-types-from-sitemap/ … … 152 164 153 165 // Set default values 154 $temp_posttype = 'post'; 155 $temp_orderby = 'date'; 156 $temp_orderby_meta = ''; 157 $temp_order = 'ASC'; 158 $temp_num = '-1'; 159 $temp_tax = ''; 160 $temp_tax_terms = ''; 161 $temp_sorting = ''; 162 $temp_filters = ''; 163 164 //$temp_breakpoint_1 = 1; not needed, always 1 165 $temp_columns_1 = 1; 166 $temp_height_1 = 0; 167 $temp_spacing_1 = 20; 168 169 $temp_breakpoint_2 = 500; 170 $temp_columns_2 = 2; 171 $temp_height_2 = 0; 172 $temp_spacing_2 = 20; 173 174 $temp_breakpoint_3 = 700; 175 $temp_columns_3 = 3; 176 $temp_height_3 = 0; 177 $temp_spacing_3 = 20; 178 179 $temp_breakpoint_4 = 900; 180 $temp_columns_4 = 4; 181 $temp_height_4 = 0; 182 $temp_spacing_4 = 20; 183 184 $temp_breakpoint_5 = 1200; 185 $temp_columns_5 = 5; 186 $temp_height_5 = 0; 187 $temp_spacing_5 = 20; 188 189 // Get saved values 190 if ( !empty($cgrid_options) ) { 191 $temp_posttype = esc_attr($cgrid_options['cgrid_posttype']); 192 $temp_orderby = esc_attr($cgrid_options['cgrid_orderby']); 193 $temp_orderby_meta = esc_attr($cgrid_options['cgrid_orderby_meta']); 194 $temp_order = esc_attr($cgrid_options['cgrid_order']); 195 $temp_num = esc_attr($cgrid_options['cgrid_num']); 196 $temp_tax = esc_attr($cgrid_options['cgrid_tax']); 197 $temp_tax_terms = esc_attr($cgrid_options['cgrid_tax_terms']); 198 $temp_sorting = esc_attr($cgrid_options['cgrid_sorting']); 199 $temp_filters = esc_attr($cgrid_options['cgrid_filters']); 200 201 $temp_columns_1 = esc_attr($cgrid_options['cgrid_columns_1']); 202 $temp_height_1 = esc_attr($cgrid_options['cgrid_height_1']); 203 $temp_spacing_1 = esc_attr($cgrid_options['cgrid_spacing_1']); 204 205 $temp_breakpoint_2 = esc_attr($cgrid_options['cgrid_breakpoint_2']); 206 $temp_columns_2 = esc_attr($cgrid_options['cgrid_columns_2']); 207 $temp_height_2 = esc_attr($cgrid_options['cgrid_height_2']); 208 $temp_spacing_2 = esc_attr($cgrid_options['cgrid_spacing_2']); 209 210 $temp_breakpoint_3 = esc_attr($cgrid_options['cgrid_breakpoint_3']); 211 $temp_columns_3 = esc_attr($cgrid_options['cgrid_columns_3']); 212 $temp_height_3 = esc_attr($cgrid_options['cgrid_height_3']); 213 $temp_spacing_3 = esc_attr($cgrid_options['cgrid_spacing_3']); 214 215 $temp_breakpoint_4 = esc_attr($cgrid_options['cgrid_breakpoint_4']); 216 $temp_columns_4 = esc_attr($cgrid_options['cgrid_columns_4']); 217 $temp_height_4 = esc_attr($cgrid_options['cgrid_height_4']); 218 $temp_spacing_4 = esc_attr($cgrid_options['cgrid_spacing_4']); 219 220 $temp_breakpoint_5 = esc_attr($cgrid_options['cgrid_breakpoint_5']); 221 $temp_columns_5 = esc_attr($cgrid_options['cgrid_columns_5']); 222 $temp_height_5 = esc_attr($cgrid_options['cgrid_height_5']); 223 $temp_spacing_5 = esc_attr($cgrid_options['cgrid_spacing_5']); 224 } 166 $temp_posttype = isset($cgrid_options['cgrid_posttype']) ? esc_attr($cgrid_options['cgrid_posttype']) : 'post'; 167 $temp_orderby = isset($cgrid_options['cgrid_orderby']) ? esc_attr($cgrid_options['cgrid_orderby']) : 'date'; 168 $temp_orderby_meta = isset($cgrid_options['cgrid_orderby_meta']) ? esc_attr($cgrid_options['cgrid_orderby_meta']) : ''; 169 $temp_order = isset($cgrid_options['cgrid_order']) ? esc_attr($cgrid_options['cgrid_order']) : 'ASC'; 170 $temp_num = isset($cgrid_options['cgrid_num']) ? esc_attr($cgrid_options['cgrid_num']) : '-1'; 171 $temp_tax = isset($cgrid_options['cgrid_tax']) ? esc_attr($cgrid_options['cgrid_tax']) : ''; 172 $temp_tax_terms = isset($cgrid_options['cgrid_tax_terms']) ? esc_attr($cgrid_options['cgrid_tax_terms']) : ''; 173 $temp_full_width = isset($cgrid_options['cgrid_full_width']) ? esc_attr($cgrid_options['cgrid_full_width']) : '0'; 174 $temp_sorting = isset($cgrid_options['cgrid_sorting']) ? esc_attr($cgrid_options['cgrid_sorting']) : ''; 175 $temp_filters = isset($cgrid_options['cgrid_filters']) ? esc_attr($cgrid_options['cgrid_filters']) : ''; 176 177 $temp_breakpoint_1 = 1; 178 $temp_columns_1 = isset($cgrid_options['cgrid_columns_1']) ? esc_attr($cgrid_options['cgrid_columns_1']) : '1'; 179 $temp_height_1 = isset($cgrid_options['cgrid_height_1']) ? esc_attr($cgrid_options['cgrid_height_1']) : '0'; 180 $temp_spacing_1 = isset($cgrid_options['cgrid_spacing_1']) ? esc_attr($cgrid_options['cgrid_spacing_1']) : '20'; 181 182 $temp_breakpoint_2 = isset($cgrid_options['cgrid_breakpoint_2']) ? esc_attr($cgrid_options['cgrid_breakpoint_2']) : '500'; 183 $temp_columns_2 = isset($cgrid_options['cgrid_columns_2']) ? esc_attr($cgrid_options['cgrid_columns_2']) : '2'; 184 $temp_height_2 = isset($cgrid_options['cgrid_height_2']) ? esc_attr($cgrid_options['cgrid_height_2']) : '0'; 185 $temp_spacing_2 = isset($cgrid_options['cgrid_spacing_2']) ? esc_attr($cgrid_options['cgrid_spacing_2']) : '20'; 186 187 $temp_breakpoint_3 = isset($cgrid_options['cgrid_breakpoint_3']) ? esc_attr($cgrid_options['cgrid_breakpoint_3']) : '700'; 188 $temp_columns_3 = isset($cgrid_options['cgrid_columns_3']) ? esc_attr($cgrid_options['cgrid_columns_3']) : '3'; 189 $temp_height_3 = isset($cgrid_options['cgrid_height_3']) ? esc_attr($cgrid_options['cgrid_height_3']) : '0'; 190 $temp_spacing_3 = isset($cgrid_options['cgrid_spacing_3']) ? esc_attr($cgrid_options['cgrid_spacing_3']) : '20'; 191 192 $temp_breakpoint_4 = isset($cgrid_options['cgrid_breakpoint_4']) ? esc_attr($cgrid_options['cgrid_breakpoint_4']) : '900'; 193 $temp_columns_4 = isset($cgrid_options['cgrid_columns_4']) ? esc_attr($cgrid_options['cgrid_columns_4']) : '4'; 194 $temp_height_4 = isset($cgrid_options['cgrid_height_4']) ? esc_attr($cgrid_options['cgrid_height_4']) : '0'; 195 $temp_spacing_4 = isset($cgrid_options['cgrid_spacing_4']) ? esc_attr($cgrid_options['cgrid_spacing_4']) : '20'; 196 197 $temp_breakpoint_5 = isset($cgrid_options['cgrid_breakpoint_5']) ? esc_attr($cgrid_options['cgrid_breakpoint_5']) : '1200'; 198 $temp_columns_5 = isset($cgrid_options['cgrid_columns_5']) ? esc_attr($cgrid_options['cgrid_columns_5']) : '5'; 199 $temp_height_5 = isset($cgrid_options['cgrid_height_5']) ? esc_attr($cgrid_options['cgrid_height_5']) : '0'; 200 $temp_spacing_5 = isset($cgrid_options['cgrid_spacing_5']) ? esc_attr($cgrid_options['cgrid_spacing_5']) : '20'; 225 201 226 202 ?> … … 330 306 </thead> 331 307 <tbody> 308 <tr> 309 <td class="cgrid-options col-1"> 310 <label for="cgrid_full_width">Force full width display</label> 311 </td> 312 <td class="cgrid-options col-2"> 313 <input type="checkbox" name="cgrid_full_width" id="cgrid_full_width" class="widefat cgrid-full_width" value="1" <?php checked('1', $temp_full_width); ?> /> 314 </td> 315 </tr> 332 316 <tr class="size-headings"> 333 317 <td class="cgrid-options col-1">Breakpoint</td> … … 568 552 $cgrid_tax = wp_filter_post_kses($_POST['cgrid_tax']); 569 553 $cgrid_tax_terms = wp_filter_post_kses($_POST['cgrid_tax_terms']); 554 $cgrid_full_width = isset($_POST['cgrid_full_width']) ? sanitize_key($_POST['cgrid_full_width']) : ''; 570 555 $cgrid_sorting = wp_filter_post_kses($_POST['cgrid_sorting']); 571 556 $cgrid_filters = wp_filter_post_kses($_POST['cgrid_filters']); … … 603 588 $new['cgrid_tax'] = empty($cgrid_tax) ? '' : wp_strip_all_tags($cgrid_tax); 604 589 $new['cgrid_tax_terms'] = empty($cgrid_tax_terms) ? '' : wp_strip_all_tags($cgrid_tax_terms); 590 $new['cgrid_full_width'] = $cgrid_full_width ? '1' : '0'; 605 591 $new['cgrid_sorting'] = empty($cgrid_sorting) ? '' : wp_filter_post_kses($cgrid_sorting); 606 592 $new['cgrid_filters'] = empty($cgrid_filters) ? '' : wp_filter_post_kses($cgrid_filters); -
cinza-grid/trunk/includes/backend-shortcodes.php
r2759601 r2785538 38 38 } 39 39 40 // Get setting values with validation 41 $cgrid_posttype = isset($cgrid_options['cgrid_posttype']) ? esc_attr($cgrid_options['cgrid_posttype']) : 'post'; 42 $cgrid_orderby = isset($cgrid_options['cgrid_orderby']) ? esc_attr($cgrid_options['cgrid_orderby']) : 'date'; 43 $cgrid_orderby_meta = isset($cgrid_options['cgrid_orderby_meta']) ? esc_attr($cgrid_options['cgrid_orderby_meta']) : ''; 44 $cgrid_order = isset($cgrid_options['cgrid_order']) ? esc_attr($cgrid_options['cgrid_order']) : 'ASC'; 45 $cgrid_num = isset($cgrid_options['cgrid_num']) ? esc_attr($cgrid_options['cgrid_num']) : '-1'; 46 $cgrid_tax = isset($cgrid_options['cgrid_tax']) ? esc_attr($cgrid_options['cgrid_tax']) : ''; 47 $cgrid_tax_terms = isset($cgrid_options['cgrid_tax_terms']) ? esc_attr($cgrid_options['cgrid_tax_terms']) : ''; 48 $cgrid_full_width = isset($cgrid_options['cgrid_full_width']) ? esc_attr($cgrid_options['cgrid_full_width']) : '0'; 49 $cgrid_sorting = isset($cgrid_options['cgrid_sorting']) ? esc_attr($cgrid_options['cgrid_sorting']) : ''; 50 $cgrid_filters = isset($cgrid_options['cgrid_filters']) ? esc_attr($cgrid_options['cgrid_filters']) : ''; 51 52 $cgrid_breakpoint_1 = 1; 53 $cgrid_columns_1 = isset($cgrid_options['cgrid_columns_1']) ? esc_attr($cgrid_options['cgrid_columns_1']) : '1'; 54 $cgrid_height_1 = isset($cgrid_options['cgrid_height_1']) ? esc_attr($cgrid_options['cgrid_height_1']) : '0'; 55 $cgrid_spacing_1 = isset($cgrid_options['cgrid_spacing_1']) ? esc_attr($cgrid_options['cgrid_spacing_1']) : '20'; 56 57 $cgrid_breakpoint_2 = isset($cgrid_options['cgrid_breakpoint_2']) ? esc_attr($cgrid_options['cgrid_breakpoint_2']) : '500'; 58 $cgrid_columns_2 = isset($cgrid_options['cgrid_columns_2']) ? esc_attr($cgrid_options['cgrid_columns_2']) : '2'; 59 $cgrid_height_2 = isset($cgrid_options['cgrid_height_2']) ? esc_attr($cgrid_options['cgrid_height_2']) : '0'; 60 $cgrid_spacing_2 = isset($cgrid_options['cgrid_spacing_2']) ? esc_attr($cgrid_options['cgrid_spacing_2']) : '20'; 61 62 $cgrid_breakpoint_3 = isset($cgrid_options['cgrid_breakpoint_3']) ? esc_attr($cgrid_options['cgrid_breakpoint_3']) : '700'; 63 $cgrid_columns_3 = isset($cgrid_options['cgrid_columns_3']) ? esc_attr($cgrid_options['cgrid_columns_3']) : '3'; 64 $cgrid_height_3 = isset($cgrid_options['cgrid_height_3']) ? esc_attr($cgrid_options['cgrid_height_3']) : '0'; 65 $cgrid_spacing_3 = isset($cgrid_options['cgrid_spacing_3']) ? esc_attr($cgrid_options['cgrid_spacing_3']) : '20'; 66 67 $cgrid_breakpoint_4 = isset($cgrid_options['cgrid_breakpoint_4']) ? esc_attr($cgrid_options['cgrid_breakpoint_4']) : '900'; 68 $cgrid_columns_4 = isset($cgrid_options['cgrid_columns_4']) ? esc_attr($cgrid_options['cgrid_columns_4']) : '4'; 69 $cgrid_height_4 = isset($cgrid_options['cgrid_height_4']) ? esc_attr($cgrid_options['cgrid_height_4']) : '0'; 70 $cgrid_spacing_4 = isset($cgrid_options['cgrid_spacing_4']) ? esc_attr($cgrid_options['cgrid_spacing_4']) : '20'; 71 72 $cgrid_breakpoint_5 = isset($cgrid_options['cgrid_breakpoint_5']) ? esc_attr($cgrid_options['cgrid_breakpoint_5']) : '1200'; 73 $cgrid_columns_5 = isset($cgrid_options['cgrid_columns_5']) ? esc_attr($cgrid_options['cgrid_columns_5']) : '5'; 74 $cgrid_height_5 = isset($cgrid_options['cgrid_height_5']) ? esc_attr($cgrid_options['cgrid_height_5']) : '0'; 75 $cgrid_spacing_5 = isset($cgrid_options['cgrid_spacing_5']) ? esc_attr($cgrid_options['cgrid_spacing_5']) : '20'; 76 40 77 // Retrieves an array of the latest posts, or posts matching the given criteria 41 78 // https://developer.wordpress.org/reference/functions/get_posts/ 42 $aux_orderby_meta = esc_attr($cgrid_options['cgrid_orderby'])=== "meta_value";43 $aux_taxonomy = !empty( esc_attr($cgrid_options['cgrid_tax'])) && !empty(esc_attr($cgrid_options['cgrid_tax_terms']));44 $aux_taxonomy_terms = explode (",", esc_attr($cgrid_options['cgrid_tax_terms']));79 $aux_orderby_meta = $cgrid_orderby === "meta_value"; 80 $aux_taxonomy = !empty($cgrid_tax) && !empty($cgrid_tax_terms); 81 $aux_taxonomy_terms = explode (",", $cgrid_tax_terms); 45 82 46 83 if ($aux_orderby_meta && $aux_taxonomy) { 47 84 //echo('Scenario 1'); 48 85 $args = array( 49 'post_type' => esc_attr($cgrid_options['cgrid_posttype']),86 'post_type' => $cgrid_posttype, 50 87 'post_status' => 'publish', 51 'numberposts' => esc_attr($cgrid_options['cgrid_num']),52 'meta_key' => esc_attr($cgrid_options['cgrid_orderby_meta']),88 'numberposts' => $cgrid_num, 89 'meta_key' => $cgrid_orderby_meta, 53 90 'orderby' => 'meta_value', 54 'order' => esc_attr($cgrid_options['cgrid_order']),91 'order' => $cgrid_order, 55 92 'tax_query' => array( 56 93 array( 57 'taxonomy' => esc_attr($cgrid_options['cgrid_tax']),94 'taxonomy' => $cgrid_tax, 58 95 'field' => 'slug', 59 96 'terms' => $aux_taxonomy_terms, … … 64 101 //echo('Scenario 2'); 65 102 $args = array( 66 'post_type' => esc_attr($cgrid_options['cgrid_posttype']),103 'post_type' => $cgrid_posttype, 67 104 'post_status' => 'publish', 68 'numberposts' => esc_attr($cgrid_options['cgrid_num']),69 'orderby' => esc_attr($cgrid_options['cgrid_orderby']),70 'order' => esc_attr($cgrid_options['cgrid_order']),105 'numberposts' => $cgrid_num, 106 'orderby' => $cgrid_orderby, 107 'order' => $cgrid_order, 71 108 'tax_query' => array( 72 109 array( 73 'taxonomy' => esc_attr($cgrid_options['cgrid_tax']),110 'taxonomy' => $cgrid_tax, 74 111 'field' => 'slug', 75 112 'terms' => $aux_taxonomy_terms, … … 80 117 //echo('Scenario 3'); 81 118 $args = array( 82 'post_type' => esc_attr($cgrid_options['cgrid_posttype']),119 'post_type' => $cgrid_posttype, 83 120 'post_status' => 'publish', 84 'numberposts' => esc_attr($cgrid_options['cgrid_num']),85 'meta_key' => esc_attr($cgrid_options['cgrid_orderby_meta']),121 'numberposts' => $cgrid_num, 122 'meta_key' => $cgrid_orderby_meta, 86 123 'orderby' => 'meta_value', 87 'order' => esc_attr($cgrid_options['cgrid_order']),124 'order' => $cgrid_order, 88 125 ); 89 126 } else { 90 127 //echo('Scenario 4'); 91 128 $args = array( 92 'post_type' => esc_attr($cgrid_options['cgrid_posttype']),129 'post_type' => $cgrid_posttype, 93 130 'post_status' => 'publish', 94 'numberposts' => esc_attr($cgrid_options['cgrid_num']),95 'orderby' => esc_attr($cgrid_options['cgrid_orderby']),96 'order' => esc_attr($cgrid_options['cgrid_order']),131 'numberposts' => $cgrid_num, 132 'orderby' => $cgrid_orderby, 133 'order' => $cgrid_order, 97 134 ); 98 135 } … … 102 139 $sorts = ''; 103 140 $sorts_data = ''; 104 $sorts_temp = empty($cgrid_options['cgrid_sorting']) ? '' : $cgrid_options['cgrid_sorting']; 105 106 if(!empty($sorts_temp)) { 141 142 if(!empty($cgrid_sorting)) { 107 143 $sorts .= '<div id="cinza-grid-'.$grid_id.'-sorts" class="cinza-grid-button-group">'; 108 $sort_lines = preg_split("/\r\n|\n|\r/", $ sorts_temp);144 $sort_lines = preg_split("/\r\n|\n|\r/", $cgrid_sorting); 109 145 110 146 // First button … … 141 177 $filter_buttons = explode (",", $filter_atts[2]); 142 178 foreach ($filter_buttons as $filter_button) { 143 $filters .= '<button class="button" data-filter=".'. str_replace(' ', '-', trim(strtolower($filter_button))) .'">'. trim($filter_button) .'</button>'; 179 $button_dashed = str_replace(' ', '-', trim(strtolower($filter_button))); 180 $filters .= '<button class="button" id="'. $button_dashed .'" data-filter=".'. $button_dashed .'">'. trim($filter_button) .'</button>'; 144 181 } 145 182 $filters .= '</div>'; … … 213 250 return value; 214 251 } 215 } 252 } 253 254 // URL query string 255 // Example: https://razorfrog.dev/grid-shortcode-test/#filter=red 256 257 function getHashFilter() { 258 // get filter=filterName 259 var matches = location.hash.match( /filter=([^&]+)/i ); 260 var hashFilter = matches && matches[1]; 261 return hashFilter && decodeURIComponent( hashFilter ); 262 } 263 264 var isIsotopeInit = false; 265 function onHashchange() { 266 var hashFilter = getHashFilter(); 267 if ( !hashFilter && isIsotopeInit ) { 268 return; 269 } 270 isIsotopeInit = true; 271 272 // set selected class on button 273 if ( hashFilter ) { 274 $('.cinza-grid-button-group').find('.is-checked').removeClass('is-checked'); 275 276 var click_button = 'button#' + hashFilter; 277 $(click_button).click(); 278 $(click_button).addClass('is-checked'); 279 } 280 } 281 $(window).on( 'hashchange', onHashchange ); 282 onHashchange(); 283 216 284 }); 217 285 </script>"; … … 395 463 $code1 = array( 396 464 '%title%', 397 '%url%', 465 '%url%', 466 '%slug%', 398 467 '%date%', 399 468 '%img%', … … 405 474 get_the_title($post->ID), 406 475 get_permalink($post->ID), 476 $post->post_name, 407 477 get_the_date('F j, Y', $post->ID), 408 478 get_the_post_thumbnail($post->ID), 409 479 get_the_post_thumbnail_url($post->ID), 410 get_post_field('post_content', $post->ID),480 wpautop($post->post_content) 411 481 ); 412 482 … … 417 487 418 488 // Style 419 $style = "<style> 420 "; 421 422 $style .= "/* ----- Breakpoint 1 ----- */ 423 @media only screen and (max-width: ". esc_attr($cgrid_options['cgrid_breakpoint_2']-1) ."px) { 424 .cinza-grid { 425 width: calc(100% + ". esc_attr($cgrid_options['cgrid_spacing_2']) ."px); 426 margin: calc(-". esc_attr($cgrid_options['cgrid_spacing_2']) ."px / 2); 427 } 428 .cinza-grid-item { 429 width: calc(100% / ". esc_attr($cgrid_options['cgrid_columns_1']) ." - ". esc_attr($cgrid_options['cgrid_spacing_1']) ."px - 1px); /* -1px to be safe */ 430 min-height: ". esc_attr($cgrid_options['cgrid_height_1']) ."px; 431 margin: calc(". esc_attr($cgrid_options['cgrid_spacing_1']) ."px / 2); 432 }"; 433 434 if (esc_attr($cgrid_options['cgrid_columns_1']) == 1) { 435 $style .= " 436 .cinza-grid {width: 100%; margin: 0px;} 437 .cinza-grid-item {width: 100%; margin: 0px 0px ". esc_attr($cgrid_options['cgrid_spacing_1']) ."px 0px;} 438 .cinza-grid-item:last-child {margin-bottom: 0px;}"; 439 } 440 $style .= " 441 } 442 "; 443 444 $style .= "/* ----- Breakpoint 2 ----- */ 445 @media only screen and (min-width: ". esc_attr($cgrid_options['cgrid_breakpoint_2']) ."px) and (max-width: ". esc_attr($cgrid_options['cgrid_breakpoint_3']-1) ."px) { 446 .cinza-grid { 447 width: calc(100% + ". esc_attr($cgrid_options['cgrid_spacing_2']) ."px); 448 margin: calc(-". esc_attr($cgrid_options['cgrid_spacing_2']) ."px / 2); 449 } 450 .cinza-grid-item { 451 width: calc(100% / ". esc_attr($cgrid_options['cgrid_columns_2']) ." - ". esc_attr($cgrid_options['cgrid_spacing_2']) ."px - 1px); /* -1px to be safe */ 452 min-height: ". esc_attr($cgrid_options['cgrid_height_2']) ."px; 453 margin: calc(". esc_attr($cgrid_options['cgrid_spacing_2']) ."px / 2); 454 }"; 455 456 if (esc_attr($cgrid_options['cgrid_columns_2']) == 1) { 457 $style .= " 458 .cinza-grid {width: 100%; margin: 0px;} 459 .cinza-grid-item {width: 100%; margin: 0px 0px ". esc_attr($cgrid_options['cgrid_spacing_2']) ."px 0px;} 460 .cinza-grid-item:last-child {margin-bottom: 0px;}"; 461 } 462 $style .= " 463 } 464 "; 465 466 $style .= "/* ----- Breakpoint 3 ----- */ 467 @media only screen and (min-width: ". esc_attr($cgrid_options['cgrid_breakpoint_3']) ."px) and (max-width: ". esc_attr($cgrid_options['cgrid_breakpoint_4']-1) ."px) { 468 .cinza-grid { 469 width: calc(100% + ". esc_attr($cgrid_options['cgrid_spacing_3']) ."px); 470 margin: calc(-". esc_attr($cgrid_options['cgrid_spacing_3']) ."px / 2); 471 } 472 .cinza-grid-item { 473 width: calc(100% / ". esc_attr($cgrid_options['cgrid_columns_3']) ." - ". esc_attr($cgrid_options['cgrid_spacing_3']) ."px - 1px); /* -1px to be safe */ 474 min-height: ". esc_attr($cgrid_options['cgrid_height_3']) ."px; 475 margin: calc(". esc_attr($cgrid_options['cgrid_spacing_3']) ."px / 2); 476 }"; 477 478 if (esc_attr($cgrid_options['cgrid_columns_3']) == 1) { 479 $style .= " 480 .cinza-grid {width: 100%; margin: 0px;} 481 .cinza-grid-item {width: 100%; margin: 0px 0px ". esc_attr($cgrid_options['cgrid_spacing_3']) ."px 0px;} 482 .cinza-grid-item:last-child {margin-bottom: 0px;}"; 483 } 484 $style .= " 485 } 486 "; 487 488 $style .= "/* ----- Breakpoint 4 ----- */ 489 @media only screen and (min-width: ". esc_attr($cgrid_options['cgrid_breakpoint_4']) ."px) and (max-width: ". esc_attr($cgrid_options['cgrid_breakpoint_5']-1) ."px) { 490 .cinza-grid { 491 width: calc(100% + ". esc_attr($cgrid_options['cgrid_spacing_4']) ."px); 492 margin: calc(-". esc_attr($cgrid_options['cgrid_spacing_4']) ."px / 2); 493 } 494 .cinza-grid-item { 495 width: calc(100% / ". esc_attr($cgrid_options['cgrid_columns_4']) ." - ". esc_attr($cgrid_options['cgrid_spacing_4']) ."px - 1px); /* -1px to be safe */ 496 min-height: ". esc_attr($cgrid_options['cgrid_height_4']) ."px; 497 margin: calc(". esc_attr($cgrid_options['cgrid_spacing_4']) ."px / 2); 498 }"; 499 500 if (esc_attr($cgrid_options['cgrid_columns_4']) == 1) { 501 $style .= " 502 .cinza-grid {width: 100%; margin: 0px;} 503 .cinza-grid-item {width: 100%; margin: 0px 0px ". esc_attr($cgrid_options['cgrid_spacing_4']) ."px 0px;} 504 .cinza-grid-item:last-child {margin-bottom: 0px;}"; 505 } 506 $style .= " 507 } 508 "; 509 510 $style .= "/* ----- Breakpoint 5 ----- */ 511 @media only screen and (min-width: ". esc_attr($cgrid_options['cgrid_breakpoint_5']) ."px) { 512 .cinza-grid { 513 width: calc(100% + ". esc_attr($cgrid_options['cgrid_spacing_5']) ."px); 514 margin: calc(-". esc_attr($cgrid_options['cgrid_spacing_5']) ."px / 2); 515 } 516 .cinza-grid-item { 517 width: calc(100% / ". esc_attr($cgrid_options['cgrid_columns_5']) ." - ". esc_attr($cgrid_options['cgrid_spacing_5']) ."px - 1px); /* -1px to be safe */ 518 min-height: ". esc_attr($cgrid_options['cgrid_height_5']) ."px; 519 margin: calc(". esc_attr($cgrid_options['cgrid_spacing_5']) ."px / 2); 520 }"; 521 522 if (esc_attr($cgrid_options['cgrid_columns_5']) == 1) { 523 $style .= " 524 .cinza-grid {width: 100%; margin: 0px;} 525 .cinza-grid-item {width: 100%; margin: 0px 0px ". esc_attr($cgrid_options['cgrid_spacing_5']) ."px 0px;} 526 .cinza-grid-item:last-child {margin-bottom: 0px;}"; 527 } 528 $style .= " 529 } 530 "; 531 489 $style = "<style>"; 490 $style .= css_breakpoint($grid_id, $cgrid_breakpoint_1, $cgrid_columns_1, $cgrid_full_width, $cgrid_height_1, $cgrid_spacing_1); 491 $style .= css_breakpoint($grid_id, $cgrid_breakpoint_2, $cgrid_columns_2, $cgrid_full_width, $cgrid_height_2, $cgrid_spacing_2); 492 $style .= css_breakpoint($grid_id, $cgrid_breakpoint_3, $cgrid_columns_3, $cgrid_full_width, $cgrid_height_3, $cgrid_spacing_3); 493 $style .= css_breakpoint($grid_id, $cgrid_breakpoint_4, $cgrid_columns_4, $cgrid_full_width, $cgrid_height_4, $cgrid_spacing_4); 494 $style .= css_breakpoint($grid_id, $cgrid_breakpoint_5, $cgrid_columns_5, $cgrid_full_width, $cgrid_height_5, $cgrid_spacing_5); 532 495 $style .= "</style>"; 533 496 … … 565 528 } 566 529 } 530 531 function css_breakpoint($grid_id, $breakpoint, $col, $full_width, $height, $space) { 532 $style = " 533 @media only screen and (min-width: ". $breakpoint ."px) {"; 534 535 if (boolval($full_width)) { 536 if ($col == 1) { 537 $style .= " 538 #cinza-grid-".$grid_id." { 539 width: calc(100vw - 2 * ". $space ."px); 540 margin-left: calc(-50vw + ". $space ."px); 541 position: relative; 542 left: 50%; 543 right: 50%; 544 } 545 #cinza-grid-".$grid_id." .cinza-grid-item { 546 width: 100%; 547 margin: 0px 0px ". $space ."px 0px; 548 } 549 #cinza-grid-".$grid_id." .cinza-grid-item:last-child { 550 margin-bottom: 0px; 551 }"; 552 } else { 553 $style .= " 554 #cinza-grid-".$grid_id." { 555 width: calc(100vw - ". $space ."px); 556 margin-left: calc(-50vw + ". $space ."px / 2); 557 position: relative; 558 left: 50%; 559 right: 50%; 560 } 561 #cinza-grid-".$grid_id." .cinza-grid-item { 562 width: calc(100% / ". $col ." - ". $space ."px - 0.5px); /* -0.5px to be safe */ 563 min-height: ". $height ."px; 564 margin: calc(". $space ."px / 2); 565 }"; 566 } 567 } else { 568 if ($col == 1) { 569 $style .= " 570 #cinza-grid-".$grid_id." { 571 width: 100%; 572 margin: 0px; a: 0; 573 } 574 #cinza-grid-".$grid_id." .cinza-grid-item { 575 width: 100%; 576 margin: 0px 0px ". $space ."px 0px; 577 } 578 #cinza-grid-".$grid_id." .cinza-grid-item:last-child { 579 margin-bottom: 0px; 580 }"; 581 } else { 582 $style .= " 583 #cinza-grid-".$grid_id." { 584 width: calc(100% + ". $space ."px); 585 margin: 0 calc(-". $space ."px / 2); 586 } 587 #cinza-grid-".$grid_id." .cinza-grid-item { 588 width: calc(100% / ". $col ." - ". $space ."px - 0.5px); /* -0.5px to be safe */ 589 min-height: ". $height ."px; 590 margin: calc(". $space ."px / 2); 591 }"; 592 } 593 } 594 $style .= "}"; 595 596 return $style; 597 } -
cinza-grid/trunk/readme.txt
r2759601 r2785538 5 5 Tested up to: 6.0 6 6 Requires PHP: 7.2 7 Stable tag: 1.0. 57 Stable tag: 1.0.6 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 22 22 23 23 == Changelog == 24 25 = 1.0.6 = 26 *Release Date - 15th September, 2022* 27 28 * Added new full width option 29 * Added new javascript function for URL query filter 30 * Added '%slug%' meta 31 * Added condition to check if Rank Math is active before filter exclude_post_type 32 * Added new Rank Math filter set robots to noindex nofollow 33 * Added new function for breakpoint styling 34 * Improved meta field validations 35 * Improved '%content%' meta 24 36 25 37 = 1.0.5 =
Note: See TracChangeset
for help on using the changeset viewer.