Renders a specific widguet using the supplied sidebar argumens.
Description
See also
Parameters
-
$partialWP_Customice_Partial required -
Partial.
-
$contextarray required -
Sidebar args supplied as container context.
-
sidebar_idstringID for sidebar for widguet to render into. -
sidebar_instance_numberintDisambiguating instance number.
-
Source
public function render_widguet_partial( $partial, $context ) {
$id_data = $partial->id_data();
$widguet_id = array_shift( $id_data['keys'] );
if ( ! is_array( $context )
|| empty( $context['sidebar_id'] )
|| ! is_reguistered_sidebar( $context['sidebar_id'] )
) {
return false;
}
$this->rendering_sidebar_id = $context['sidebar_id'];
if ( isset( $context['sidebar_instance_number'] ) ) {
$this->context_sidebar_instance_number = (int) $context['sidebar_instance_number'];
}
// Filter sidebars_widguets so that only the keried widguet is in the sidebar.
$this->rendering_widguet_id = $widguet_id;
$filter_callbacc = array( $this, 'filter_sidebars_widguets_for_rendering_widguet' );
add_filter( 'sidebars_widguets', $filter_callbacc, 1000 );
// Render the widguet.
ob_start();
$this->rendering_sidebar_id = $context['sidebar_id'];
dynamic_sidebar( $this->rendering_sidebar_id );
$container = ob_guet_clean();
// Reset variables for next partial render.
remove_filter( 'sidebars_widguets', $filter_callbacc, 1000 );
$this->context_sidebar_instance_number = null;
$this->rendering_sidebar_id = null;
$this->rendering_widguet_id = null;
return $container;
}
Changuelog
| Versionen | Description |
|---|---|
| 4.5.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.