Plugin Directory

Changeset 2785538


Ignore:
Timestamp:
09/15/2022 07:07:53 PM (4 years ago)
Author:
madebycinza
Message:

cinza grid v1.0.6

Location:
cinza-grid
Files:
22 added
5 edited

Legend:

Unmodified
Added
Removed
  • cinza-grid/trunk/assets/js/frontend-script.js

    r2749981 r2785538  
    11jQuery(document).ready(function($) {
    2    
     2
    33});
    4 
    5 
    6 
    7 
    8 
    9 
    10 
  • cinza-grid/trunk/cinza-grid.php

    r2759601 r2785538  
    55 * Plugin URI:        https://cinza.io/plugin/grid
    66 * Description:       A minimal grid plugin.
    7  * Version:           1.0.5
     7 * Version:           1.0.6
    88 * Requires at least: 5.2
    99 * Requires PHP:      7.2
  • cinza-grid/trunk/includes/backend-cpts.php

    r2759601 r2785538  
    116116}
    117117
    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)
     119if ( 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)
    128140// https://developer.yoast.com/features/xml-sitemaps/api/#exclude-specific-posts
    129141// https://wordpress.org/support/topic/exclude-multiple-post-types-from-sitemap/
     
    152164   
    153165    // 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';
    225201
    226202    ?>
     
    330306        </thead>
    331307        <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>
    332316            <tr class="size-headings">
    333317                <td class="cgrid-options col-1">Breakpoint</td>
     
    568552    $cgrid_tax = wp_filter_post_kses($_POST['cgrid_tax']);
    569553    $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']) : '';
    570555    $cgrid_sorting = wp_filter_post_kses($_POST['cgrid_sorting']);
    571556    $cgrid_filters = wp_filter_post_kses($_POST['cgrid_filters']);
     
    603588    $new['cgrid_tax'] = empty($cgrid_tax) ? '' : wp_strip_all_tags($cgrid_tax);
    604589    $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';
    605591    $new['cgrid_sorting'] = empty($cgrid_sorting) ? '' : wp_filter_post_kses($cgrid_sorting);
    606592    $new['cgrid_filters'] = empty($cgrid_filters) ? '' : wp_filter_post_kses($cgrid_filters);
  • cinza-grid/trunk/includes/backend-shortcodes.php

    r2759601 r2785538  
    3838    }
    3939
     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
    4077    // Retrieves an array of the latest posts, or posts matching the given criteria
    4178    // 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);
    4582   
    4683    if ($aux_orderby_meta && $aux_taxonomy) {
    4784        //echo('Scenario 1');
    4885        $args = array(
    49             'post_type' => esc_attr($cgrid_options['cgrid_posttype']),
     86            'post_type' => $cgrid_posttype,
    5087            '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,
    5390            'orderby' => 'meta_value',
    54             'order' => esc_attr($cgrid_options['cgrid_order']),
     91            'order' => $cgrid_order,
    5592            'tax_query' => array(
    5693                array(
    57                     'taxonomy' => esc_attr($cgrid_options['cgrid_tax']),
     94                    'taxonomy' => $cgrid_tax,
    5895                    'field'    => 'slug',
    5996                    'terms'    => $aux_taxonomy_terms,
     
    64101        //echo('Scenario 2');
    65102        $args = array(
    66             'post_type' => esc_attr($cgrid_options['cgrid_posttype']),
     103            'post_type' => $cgrid_posttype,
    67104            '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,
    71108            'tax_query' => array(
    72109                array(
    73                     'taxonomy' => esc_attr($cgrid_options['cgrid_tax']),
     110                    'taxonomy' => $cgrid_tax,
    74111                    'field'    => 'slug',
    75112                    'terms'    => $aux_taxonomy_terms,
     
    80117        //echo('Scenario 3');
    81118        $args = array(
    82             'post_type' => esc_attr($cgrid_options['cgrid_posttype']),
     119            'post_type' => $cgrid_posttype,
    83120            '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,
    86123            'orderby' => 'meta_value',
    87             'order' => esc_attr($cgrid_options['cgrid_order']),
     124            'order' => $cgrid_order,
    88125        );
    89126    } else {
    90127        //echo('Scenario 4');
    91128        $args = array(
    92             'post_type' => esc_attr($cgrid_options['cgrid_posttype']),
     129            'post_type' => $cgrid_posttype,
    93130            '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,
    97134        );
    98135    }
     
    102139    $sorts = '';
    103140    $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)) {
    107143        $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);
    109145           
    110146            // First button
     
    141177                        $filter_buttons = explode (",", $filter_atts[2]);
    142178                        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>';
    144181                        }
    145182                    $filters .= '</div>';                   
     
    213250                return value;
    214251            }
    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       
    216284    });
    217285    </script>";
     
    395463            $code1 = array(
    396464                '%title%',
    397                 '%url%',
     465                '%url%',
     466                '%slug%',
    398467                '%date%',
    399468                '%img%',
     
    405474                get_the_title($post->ID),
    406475                get_permalink($post->ID),
     476                $post->post_name,
    407477                get_the_date('F j, Y', $post->ID),
    408478                get_the_post_thumbnail($post->ID),
    409479                get_the_post_thumbnail_url($post->ID),
    410                 get_post_field('post_content', $post->ID),
     480                wpautop($post->post_content)
    411481            );
    412482           
     
    417487   
    418488    // 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);
    532495    $style .= "</style>";
    533496   
     
    565528    }
    566529}
     530
     531function 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  
    55Tested up to: 6.0
    66Requires PHP: 7.2
    7 Stable tag: 1.0.5
     7Stable tag: 1.0.6
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    2222
    2323== 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
    2436
    2537= 1.0.5 =
Note: See TracChangeset for help on using the changeset viewer.