253 lines
11 KiB
PHP
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();
|
|
}
|