File "Settings_Sidebar.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/the-events-calendar/common/src/Common/Admin/Settings_Sidebar.php
File size: 2.09 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Settings sidebar.
*
* @since 6.1.0
*/
declare( strict_types=1 );
namespace TEC\Common\Admin;
use TEC\Common\Admin\Entities\Image;
/**
* Class Settings_Sidebar
*
* @since 6.1.0
*/
class Settings_Sidebar extends Section {
/**
* Sections for the sidebar.
*
* @since 6.1.0
*
* @var Section[]
*/
protected array $sections = [];
/**
* Render the sidebar.
*
* @since 6.1.0
*
* @return void
*/
public function render() {
?>
<div class="tec-settings-form__sidebar">
<?php do_action( 'tec_settings_sidebar_start', $this ); ?>
<?php foreach ( $this->get_sections() as $section ) : ?>
<div class="tec-settings-form__sidebar-section">
<?php $section->render(); ?>
</div>
<?php endforeach; ?>
<?php do_action( 'tec_settings_sidebar_end', $this ); ?>
</div>
<?php
}
/**
* Alias to prepending a section to the sidebar.
*
* @since 6.1.0
*
* @param Section $section The section to add.
*
* @return self
*/
public function add_section( Section $section ): self {
$this->sections[] = $section;
return $this;
}
/**
* Add a section to the start of the sidebar array of sections
*
* @since 6.3.0
*
* @param Section $section The section to add.
*
* @return self
*/
public function prepend_section( Section $section ): self {
array_unshift( $this->sections, $section );
return $this;
}
/**
* Get the sidebar sections.
*
* @since 6.3.0
*
* @return array
*/
public function get_sections(): array {
/**
* Filter the sidebar sections.
*
* @since 6.3.0
*
* @param Section[] $sections The sidebar sections.
* @param Settings_Sidebar $sidebar The sidebar object.
*/
return apply_filters( 'tec_settings_sidebar_sections', $this->sections, $this );
}
/**
* Set the header image for the sidebar.
*
* @since 6.1.0
*
* @deprecated 6.3.0
*
* @param Image $deprecated Deprecated.
*/
public function set_header_image( Image $deprecated ) {
_deprecated_function( __METHOD__, '6.3.0', 'Sidebar no longer has headers, they can be added to individual sections.' );
}
}