是否可以重新注册未注册的WordPress侧边栏()

我正在自定义Atmosphere Pro主题, 这是一个Genesis子主题。 Atmosphere会在其functions.php文件中注销边栏。
我可以注释掉注销侧边栏的行, 但是, 我试图避免触摸主题本身, 而是使用自定义插件覆盖主题。
我不能只做register_sidebar(‘ sidebar’ ); 因为否则Wordpress会将其视为全新的侧边栏。
有没有办法过滤掉unregister_sidebar(‘ sidebar’ ); 在functions.php中还是重新注册未注册的侧边栏?
作为参考, 这是Atmosphere functions.php文件中需要重写的代码:

// Remove sidebars. unregister_sidebar( 'sidebar' ); unregister_sidebar( 'sidebar-alt' ); // Remove site layouts. genesis_unregister_layout( 'content-sidebar' ); genesis_unregister_layout( 'sidebar-content' ); genesis_unregister_layout( 'content-sidebar-sidebar' ); genesis_unregister_layout( 'sidebar-content-sidebar' ); genesis_unregister_layout( 'sidebar-sidebar-content' ); // Force full-width-content layout setting. add_filter( 'genesis_site_layout', '__genesis_return_full_width_content' );

还有我在插件中的代码:
< ?php /* Plugin Name: Atmosphere Pro Theme Sidebars Plugin URI: https://my.studiopress.com/themes/atmosphere/ Version: 1.0 Author: Rose Fisher Description: Enables left or right aligned sidebars in the StudioPress Genesis Atmosphere Pro child theme Text Domain: atmosphere-pro-theme-sidebars License: GPLv3 */defined( 'ABSPATH' ) || die( 'No direct access' ); $theme = wp_get_theme( 'atmosphere-pro' ); if ( $theme-> exists() ) { //Check and make sure the theme is set to Atmosphere Pro// Add sidebars back - this currently registers a whole new sidebar as sidebar-1 register_sidebar( 'sidebar' ); function APTS_get_site_layouts_back() { genesis_register_layout( 'content-sidebar', array( 'label' => __('Content/Sidebar', 'genesis'), 'img' => get_bloginfo('template_url') . '/lib/admin/images/layouts/cs.gif' ) ); genesis_register_layout( 'sidebar-content', array( 'label' => __('Sidebar/Content', 'genesis'), 'img' => get_bloginfo('template_url') . '/lib/admin/images/layouts/sc.gif' ) ); } add_action( 'init', 'APTS_get_site_layouts_back' ); // Force full-width-content layout setting only on front page. remove_filter( 'genesis_site_layout', '__genesis_return_full_width_content' ); //first remove full widthfunction APTS_full_width_frontpage() { if ( is_front_page() ){ add_filter( 'genesis_site_layout', '__genesis_return_full_width_content' ); //then add it back only if it's the front page } } add_action ( 'genesis_meta', 'APTS_full_width_frontpage' ); // Add back the sidebar CSS after the Atmosphere CSS (based on the Parallax Pro sidebar CSS) function APTS_add_sidebar_css() { if ( !is_front_page() ) { wp_enqueue_style( 'atmosphere-pro-sidebars', get_stylesheet_directory_uri() .'/css/sidebars.css', array('atmosphere-pro') ); } } add_action('init', 'APTS_add_sidebar_css', 99); }

参考:https://victorfont.com/enable-sidebars-in-atmosphere-pro/
#1问题是register_sidebar(‘ sidebar’ ); 一个人是行不通的。边栏的ID必须明确说明。
创世记使用的ID是’ sidebar’ , 因此代码如下(请注意’ id’ => ’ sidebar’ )-
// Restore the sidebar function APTS_register_sidebar() { register_sidebar( array( 'name' => __( 'Sidebar', 'theme-slug' ), 'id' => 'sidebar' ) ); } add_action( 'wp_loaded', 'APTS_register_sidebar' );

【是否可以重新注册未注册的WordPress侧边栏()】万一它对其他人有用, 这是用于将左右侧边栏还原到” 大气儿童” 主题的完整代码, 并且可以对其进行更改以对其他” 创世纪” 子主题和其他侧边栏执行相同的操作。
< ?php /* Plugin Name: Atmosphere Pro Theme Sidebars Plugin URI: https://my.studiopress.com/themes/atmosphere/ Version: 1.0 Author: Rose Fisher Author URI: http://www.bespokehosting.space Description: Enables left or right aligned sidebars in the StudioPress Genesis Atmosphere Pro theme on the blog archive and blog posts. Text Domain: atmosphere-pro-theme-sidebars License: GPLv3Atmosphere Pro Theme Sidebars is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version.Atmosphere Pro Theme Sidebars is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along with {Plugin Name}. If not, see {URI to Plugin License}. */defined( 'ABSPATH' ) || die( 'No direct access' ); // Check and make sure the theme is set to Atmosphere Pro $theme = wp_get_theme( 'atmosphere-pro' ); if ( $theme-> exists() ) { // Restore the sidebar function APTS_register_sidebar() { register_sidebar( array( 'name' => __( 'Sidebar', 'theme-slug' ), 'id' => 'sidebar' ) ); } add_action( 'wp_loaded', 'APTS_register_sidebar' ); // Put the site layout picker back to the theme and post editors function APTS_get_site_layouts_back() { genesis_register_layout( 'content-sidebar', array( 'label' => __('Content/Sidebar', 'genesis'), 'img' => get_bloginfo('template_url') . '/lib/admin/images/layouts/cs.gif' ) ); genesis_register_layout( 'sidebar-content', array( 'label' => __('Sidebar/Content', 'genesis'), 'img' => get_bloginfo('template_url') . '/lib/admin/images/layouts/sc.gif' ) ); } add_action( 'init', 'APTS_get_site_layouts_back' ); // Check if the sidebar is actually being used so we don't unneccessarily create sidebar space if ( is_active_sidebar( 'sidebar' ) ) {// Remove sidebar from homepage and single pages function APTS_remove_sidebar_from_home() { if ( is_front_page() || is_page() ) { remove_action( 'genesis_after_content', 'genesis_get_sidebar' ); // Remove default Genesis sidebar } } add_action( 'genesis_meta', 'APTS_remove_sidebar_from_home' ); // Add the CSS for the sidebar (pulled from Parallax Pro) only on the blog archive and posts function APTS_add_sidebar_css() { if ( is_single() || is_home() ) { wp_enqueue_style( 'atmosphere-pro-sidebars', plugin_dir_url( __FILE__ ) .'css/sidebars.css', array('atmosphere-pro') ); } } add_action( 'wp_enqueue_scripts', 'APTS_add_sidebar_css' ); // Force Genesis full-width-content layout setting only on front page. function APTS_full_width_frontpage() { remove_filter( 'genesis_site_layout', '__genesis_return_full_width_content' ); //first remove the filter if ( is_front_page() ) { add_filter( 'genesis_site_layout', '__genesis_return_full_width_content' ); //then add it back only if it's the front page } } add_action ( 'init', 'APTS_full_width_frontpage' ); }}

    推荐阅读