通过子主题加载小部件

时间:2021-01-28 作者:HappyHands31

我用的是非常流行的Elementor 主题来构建我的WordPress站点,但遗憾的是,当我转到仪表板中的外观时,没有小部件选项:

enter image description here

我需要它来创建一个侧栏。

因此,这导致我安装了一个子主题,以便我可以向functions.php 以便显示widgets选项。

这就是我的functions.php 子主题的文件:

<?php
add_action( \'wp_enqueue_scripts\', \'enqueue_parent_styles\' );

function enqueue_parent_styles() {
   wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/style.css\' );
}

add_action(\'widgets_init\', \'outWidgetsInit\');

function ourWidgetsInit() {
    register_sidebar( array (
        \'name\' => \'Sidebar\',
        \'id\' => \'sidebar1\',
    ));
}
这会导致开发时主题顶部出现错误:

enter image description here

为什么代码显示在屏幕顶部?在这里我应该做什么不同的事情?

1 个回复
SO网友:HappyHands31

无论出于何种原因,可能与缓存相关,但等待一天,然后在functions.php 解决了问题:

if (function_exists("register_sidebar")) {
    register_sidebar();
}
根据本文,请参阅“如何添加Widgets菜单选项”

https://elementor.com/help/hello-theme-tips/

那么我的functions.php 子主题中的文件是:

<?php
add_action( \'wp_enqueue_scripts\', \'enqueue_parent_styles\' );

function enqueue_parent_styles() {
   wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/style.css\' );
}

add_action(\'widgets_init\', \'outWidgetsInit\');

function ourWidgetsInit() {
    register_sidebar( array (
        \'name\' => \'Sidebar\',
        \'id\' => \'sidebar1\',
    ));
}

if (function_exists("register_sidebar")) {
    register_sidebar();
}

相关推荐

强制将未登录用户重定向到特定页面的(wp-login.php或wp-admin)

我目前正在使用Wordpress插件(Pagerestrict插件,它根据页面ID/slug引用URL)来限制某些页面只允许登录用户使用。这个插件可以很好地使用标准的wordpress URL结构,但我的问题是我的一些页面直接链接到一些插件功能http://mywebsite.com/wp-content/plugins/purchase.php 而不是标准http://mywebsite.com/wp-content/plugins/purchase/ wordpress url结构。因此,我在这种情况