Plugin Directory

Changeset 1782207


Ignore:
Timestamp:
12/06/2017 07:27:02 PM (8 years ago)
Author:
MaartenM
Message:

Fix - 'sidebars_widgets' hook: list of widgets can also be NULL (from WordPress 4.1.0 to 4.6.0)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • widget-display-conditions/trunk/widget-display-conditions.php

    r1777302 r1782207  
    44Plugin URI:   https://wordpress.org/plugins/widget-display-conditions/
    55Description:  Control on which page you want a particular widget to be displayed.
    6 Version:      0.1.7
     6Version:      0.1.8
    77Author:       Maarten Menten
    88Author URI:   https://profiles.wordpress.org/maartenm/
     
    9696 * @return array The filtered widgets.
    9797 */
    98 
    9998function wdc_filter_sidebars_widgets( $sidebars_widgets )
    10099{
    101100    foreach ( $sidebars_widgets as $sidebar_id => &$widgets )
    102101    {
    103         $_widgets = array();
     102        /**
     103         * From WordPress 4.1.0 to 4.6.0
     104         * $widgets can be NULL
     105         */
    104106
    105         foreach ( $widgets as $widget_id )
     107        if ( is_array( $widgets ) )
    106108        {
    107             $conditions = wdc_get_widget_conditions( $widget_id );
    108            
    109             if ( $conditions )
     109            $_widgets = array();
     110
     111            foreach ( $widgets as $widget_id )
    110112            {
    111                 $valid = WDC_API::apply_conditions( $conditions );
     113                $conditions = wdc_get_widget_conditions( $widget_id );
     114               
     115                if ( $conditions )
     116                {
     117                    $valid = WDC_API::apply_conditions( $conditions );
     118                }
     119
     120                else
     121                {
     122                    $valid = true;
     123                }
     124
     125                if ( $valid )
     126                {
     127                    $_widgets[] = $widget_id;
     128                }
    112129            }
    113130
    114             else
    115             {
    116                 $valid = true;
    117             }
    118 
    119             if ( $valid )
    120             {
    121                 $_widgets[] = $widget_id;
    122             }
     131            $widgets = $_widgets;
    123132        }
    124 
    125         $widgets = $_widgets;
    126133    }
    127134
Note: See TracChangeset for help on using the changeset viewer.