WordPress.org

Make WordPress Core

Ticket #25368: widgets.php.2.patch

File widgets.php.2.patch, 4.2 KB (added by westonruter, 6 years ago)

Remove temp_ prefixes for dynamic_sidebar_before, dynamic_sidebar_after, dynamic_sidebar_has_widgets, and is_active_sidebar hooks. Add inline docs for these new hooks and for old dynamic_sidebar action and dynamic_sidebar_params filter.

  • src/wp-includes/widgets.php

     
    859859
    860860        $sidebars_widgets = wp_get_sidebars_widgets();
    861861        if ( empty( $wp_registered_sidebars[ $index ] ) || empty( $sidebars_widgets[ $index ] ) || ! is_array( $sidebars_widgets[ $index ] ) ) {
    862                 //temporary_hook #25368
    863                 do_action( 'temp_dynamic_sidebar_before', $index, false );
    864                 //temporary_hook #25368
    865                 do_action( 'temp_dynamic_sidebar_after',  $index, false );
    866                 //temporary_hook #25368
    867                 return apply_filters( 'temp_dynamic_sidebar_has_widgets', false, $index );
     862                /**
     863                 * See other instances of these hooks below. These first instances are
     864                 * only invoked if the sidebar is empty.
     865                 */
     866                do_action( 'dynamic_sidebar_before', $index, false );
     867                do_action( 'dynamic_sidebar_after',  $index, false );
     868                return apply_filters( 'dynamic_sidebar_has_widgets', false, $index );
    868869        }
    869870
    870         //temporary_hook #25368
    871         do_action( 'temp_dynamic_sidebar_before', $index, true );
     871        /**
     872         * Invoke before dynamic_sidebar() renders any widgets
     873         *
     874         * @since 3.9.0
     875         *
     876         * @param string $index sidebar ID
     877         * @param boolean whether the sidebar was populated with widgets
     878         */
     879        do_action( 'dynamic_sidebar_before', $index, true );
    872880        $sidebar = $wp_registered_sidebars[$index];
    873881
    874882        $did_one = false;
     
    892900                $classname_ = ltrim($classname_, '_');
    893901                $params[0]['before_widget'] = sprintf($params[0]['before_widget'], $id, $classname_);
    894902
     903                /**
     904                 * Parameters to pass into the widget display_callback
     905                 *
     906                 * @since 2.5.0
     907                 *
     908                 * @param array $params {
     909                 *     @type array $args first param passed to widget display_callback {
     910                 *         @type string $name for sidebar
     911                 *         @type string $id for sidebar
     912                 *         @type string $description for sidebar
     913                 *         @type string $class for sidebar
     914                 *         @type string $widget_id
     915                 *         @type string $widget_name
     916                 *         @type string $before_widget
     917                 *         @type string $after_widget
     918                 *         @type string $before_title
     919                 *         @type string $after_title
     920                 *     }
     921                 *     @type array $widget_args second param passed to widget display_callback {
     922                 *         @type int $number for multi widget
     923                 *     }
     924                 * }
     925                 */
    895926                $params = apply_filters( 'dynamic_sidebar_params', $params );
    896927
    897928                $callback = $wp_registered_widgets[$id]['callback'];
    898929
     930                /**
     931                 * Invoke before dynamic_sidebar() is about to render a widget
     932                 *
     933                 * @since 3.0.0
     934                 *
     935                 * @param array registered widget
     936                 */
    899937                do_action( 'dynamic_sidebar', $wp_registered_widgets[$id] );
    900938
    901939                if ( is_callable($callback) ) {
     
    904942                }
    905943        }
    906944
    907         //temporary_hook #25368
    908         do_action( 'temp_dynamic_sidebar_after', $index, true );
    909         //temporary_hook #25368
    910         $did_one = apply_filters( 'temp_dynamic_sidebar_has_widgets', $did_one, $index );
     945        /**
     946         * Invoke after dynamic_sidebar() renders any widgets
     947         *
     948         * @since 3.9.0
     949         *
     950         * @param string $index sidebar ID
     951         * @param boolean whether the sidebar was populated with widgets
     952         */
     953        do_action( 'dynamic_sidebar_after', $index, true );
     954
     955        /**
     956         * Allow a plugin to override the return value for dynamic_sidebar(),
     957         * indicating whether or not widgets were rendered
     958         *
     959         * @since 3.9.0
     960         *
     961         * @param boolean $did_one whether a widget was rendered in the sidebar
     962         * @param string $index sidebar ID
     963         */
     964        $did_one = apply_filters( 'dynamic_sidebar_has_widgets', $did_one, $index );
     965
    911966        return $did_one;
    912967}
    913968
     
    9871042        $index = ( is_int($index) ) ? "sidebar-$index" : sanitize_title($index);
    9881043        $sidebars_widgets = wp_get_sidebars_widgets();
    9891044        $is_active_sidebar = ! empty( $sidebars_widgets[$index] );
    990         //temporary_hook #25368
    991         $is_active_sidebar = apply_filters( 'temp_is_active_sidebar', $is_active_sidebar, $index );
     1045
     1046        /**
     1047         * Return value for is_active_sidebar()
     1048         *
     1049         * @since 3.9
     1050         *
     1051         * @param boolean $is_active_sidebar whether or not the sidebar is populated with widgets
     1052         * @param string $index sidebar ID
     1053         */
     1054        $is_active_sidebar = apply_filters( 'is_active_sidebar', $is_active_sidebar, $index );
     1055
    9921056        return $is_active_sidebar;
    9931057}
    9941058