$name, 'id' => sanitize_title($name), 'description' => '', 'before_widget' => '', 'before_title' => '
', )); } function replace_sidebar() { add_action('init', function () { // only flatsome if (!adminz_is_flatsome()) { return; } $post_types = get_post_types(['public' => true], 'names'); foreach ($post_types as $post_type) { add_action('add_meta_boxes', function () use ($post_type) { add_meta_box( "sidebar_select_{$post_type}", 'Adminz Replace Sidebar', function ($post) { $selected_sidebar = get_post_meta($post->ID, '_selected_sidebar', true); $sidebars = $GLOBALS['wp_registered_sidebars']; echo ''; }, $post_type, 'side', 'default' ); }); } add_action('save_post', function ($post_id) { if (isset($_POST['selected_sidebar'])) { update_post_meta($post_id, '_selected_sidebar', sanitize_text_field($_POST['selected_sidebar'])); } }); // replace sidebar add_filter('sidebars_widgets', function ($sidebars_widgets) { if (is_singular()) { $post_id = get_the_ID(); if($selected_sidebar = get_post_meta($post_id, '_selected_sidebar', true)){ $sidebar = 'sidebar-main'; if (is_singular('product')) { $sidebar = 'product-sidebar'; } $sidebars_widgets[$sidebar] = $sidebars_widgets[$selected_sidebar]; } } return $sidebars_widgets; }); }); } }