Files
Landing/wp-content/themes/upstudy/inc/theme-support.php
T
2026-04-23 04:33:43 +03:30

253 lines
11 KiB
PHP

<?php
defined('ABSPATH') || exit;
/**
* Upstudy Theme Support
*
*
* @class Upstudy_Theme_Support
* @version 1.0
* @category Class
* @author Devthrow
*/
if (! class_exists('Upstudy_Theme_Support')) {
class Upstudy_Theme_Support
{
private static $instance = null;
public static function get_instance()
{
if (null == self::$instance) {
self::$instance = new self();
}
return self::$instance;
}
public function __construct()
{
add_action('widgets_init', [$this, 'sidebar_register'] );
}
public function sidebar_register()
{
// Default wrapper for widget and title
$wrapper_before = '<section id="%1$s" class="widget %2$s">';
$wrapper_after = '</section>';
$title_before = '<h2 class="widget-title">';
$title_after = '</h2>';
// Get List of registered sidebar
$custom_sidebars = Upstudy::setting( 'sidebars' );
// Register custom sidebars
if (!empty($custom_sidebars)) {
foreach ($custom_sidebars as $single) {
register_sidebar([
'name' => esc_attr($single['upstudy_sidebar_name']),
'id' => "sidebar_".esc_attr(strtolower(preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $single['upstudy_sidebar_name'])))),
'description' => esc_html__('Add widget here to appear it in custom sidebar.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
]);
}
}
register_sidebar(array(
'name' => esc_html__('(Upstudy) Blog Sidebar', 'upstudy'),
'id' => 'sidebar-1',
'description' => esc_html__('Add widgets here to appear in your sidebar on blog posts and archive pages.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
register_sidebar(array(
'name' => esc_html__('(Upstudy) Header Top', 'upstudy'),
'id' => 'header-top',
'description' => esc_html__('Add widgets here to appear in your header top area.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
register_sidebar(array(
'name' => esc_html__('(Upstudy) Footer Column 01', 'upstudy'),
'id' => 'footer-1',
'description' => esc_html__('Add widgets here to appear in your footer.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
register_sidebar(array(
'name' => esc_html__('(Upstudy) Footer Column 02', 'upstudy'),
'id' => 'footer-2',
'description' => esc_html__('Add widgets here to appear in your footer.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
register_sidebar(array(
'name' => esc_html__('(Upstudy) Footer Column 03', 'upstudy'),
'id' => 'footer-3',
'description' => esc_html__('Add widgets here to appear in your footer.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
register_sidebar(array(
'name' => esc_html__('(Upstudy) Footer Column 04', 'upstudy'),
'id' => 'footer-4',
'description' => esc_html__('Add widgets here to appear in your footer.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
register_sidebar(array(
'name' => esc_html__('(Upstudy) Copyright 01', 'upstudy'),
'id' => 'copyright',
'description' => esc_html__('Add widgets here to appear in your footer copyright.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
register_sidebar(array(
'name' => esc_html__('(Upstudy) Copyright 02', 'upstudy'),
'id' => 'copyright_2',
'description' => esc_html__('Add widgets here to appear in your footer copyright right side.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
if (class_exists('WooCommerce')) {
$shop_sidebars = [
[
'name' => esc_html__('Shop Products', 'upstudy'),
'id' => 'woocommerce_shop_page_sidebar',
'description' => esc_html__('Add widgets here to appear in your sidebar on shop page pages.', 'upstudy'),
], [
'name' => esc_html__('Shop Products Top Area', 'upstudy'),
'id' => 'woocommerce_shop_page_top_sidebar',
'description' => esc_html__('Add widgets here to appear in your sidebar on shop page top pages.', 'upstudy'),
], [
'name' => esc_html__('Shop Single Top Area', 'upstudy'),
'id' => 'woocommerce_product_page_top_sidebar',
'description' => esc_html__('Add widgets here to appear in your sidebar on woocommerce shop product details page top pages.', 'upstudy'),
]
];
foreach ($shop_sidebars as $shop_sidebar) {
register_sidebar( [
'name' => $shop_sidebar['name'],
'id' => $shop_sidebar['id'],
'description' => $shop_sidebar['description'],
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
] );
}
}
if ( class_exists('LearnPress') ) {
$learnpress_sidebars = [
[
'name' => esc_html__( '(Upstudy) LearnPress Single', 'upstudy' ),
'description' => esc_html__('Add widgets here to appear in your sidebar on LearnPress course details pages.', 'upstudy'),
'id' => 'learnpress_single',
], [
'name' => esc_html__( '(Upstudy) LearnPress Archive', 'upstudy' ),
'description' => esc_html__('Add widgets here to appear in your sidebar on LearnPress course archive pages.', 'upstudy'),
'id' => 'lp-course-sidebar-1'
],
];
foreach ($learnpress_sidebars as $key => $sidebar) {
register_sidebar( [
'name' => $sidebar['name'],
'id' => $sidebar['id'],
'description' => $sidebar['description'],
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
]);
}
}
if ( function_exists('tutor') ) {
register_sidebar(array(
'name' => esc_html__('(Upstudy) Tutor Single', 'upstudy'),
'id' => 'tutor-course-sidebar-1',
'description' => esc_html__('Add widgets here to appear in your sidebar on Tutor course details pages.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
}
if ( class_exists('SFWD_LMS') ) {
register_sidebar(array(
'name' => esc_html__('(Upstudy) LearnDash Single', 'upstudy'),
'id' => 'ld-course-sidebar-1',
'description' => esc_html__('Add widgets here to appear in your sidebar on LearnDash course details pages.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
}
if ( class_exists('Sensei_Main') ) {
register_sidebar(array(
'name' => esc_html__('(Upstudy) Sensei Single', 'upstudy'),
'id' => 'sensei-course-sidebar-1',
'description' => esc_html__('Add widgets here to appear in your sidebar on Sensei course details pages.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
}
if ( class_exists('Tribe__Events__Main') ) {
register_sidebar(array(
'name' => esc_html__('(Upstudy) The Events Calendar Single', 'upstudy'),
'id' => 'tribe_event_sidebar',
'description' => esc_html__('Add widgets here to appear in your sidebar on The Events Calendar details pages.', 'upstudy'),
'before_widget' => $wrapper_before,
'after_widget' => $wrapper_after,
'before_title' => $title_before,
'after_title' => $title_after,
));
}
// === End sidebar
}
}
new Upstudy_Theme_Support();
}