2

我遇到了两种我不知道如何解决的错误。

你可以在这里看到错误: http ://www.brainbuzzmedia.com/themes/vertex/

第一种类型出现两次,如下所示:

Notice: wp_enqueue_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or init hooks. Please see Debugging in WordPress for more information. (This message was added in version 3.3.) in /home/admin/buzz/themes/vertex/wp-includes/functions.php on line 3587

我在functions.php中有一个调用:

function my_init() {
if (!is_admin()) {
    wp_enqueue_script('jquery');
}
}
add_action('init', 'my_init');

第二个错误类型是这样的:

Notice: Undefined property: stdClass::$slider_height in /vertex/wp-content/themes/vertex/slider_settings.php on line 32

无论我在哪里(在 if 语句内部或外部或两者)定义这些变量,它们仍然给我这个错误。

*更新

我在主题文件的子文件夹中排队了一些其他脚本,主要用于管理区域。

$path = get_template_directory_uri() 。'/includes/metabox/smart_meta_box/smart_meta_fields/layout-editor/';

wp_enqueue_script('mcolorpicker', $path . 'js/mColorPicker.js', array('jquery'));

wp_enqueue_style('chosen', $path . 'css/chosen.css');

wp_enqueue_style('content-layout', $path . 'css/content-layout.css');

wp_enqueue_script('jquery-json', $path . 'js/jquery.json.js', array('jquery'));

wp_enqueue_script('chosen-jquery', $path . 'js/chosen.jquery.min.js', array('jquery'));

wp_enqueue_script('content-layout-js', $path . 'js/content-layout.js', array('jquery', 'jquery-ui-sortable'));

我认为前端显示也可能需要它们。我将如何以正确的方式将这些排入队列?

  • 更新 2

这是发生两个未定义属性错误的代码:

链接到txt

4

1 回答 1

2

使用 wp_enqueue_scripts 操作调用此函数,或使用 admin_enqueue_scripts 在管理员端调用它。

要将其加载到前端,请使用

add_action('wp_enqueue_scripts', 'my_scripts_method');
function my_scripts_method() {
    wp_enqueue_script('jquery');
}

要为管理员加载它,请使用

add_action('admin_enqueue_scripts', 'my_admin_scripts_method');
function my_admin_scripts_method() {
    wp_enqueue_script('jquery');
}

参考: 法典

发生第二个错误是因为jQuery未加载。

更新:

如果你有任何wp_register_script(xxx)或直接wp_enqueue_style(xxx)调用你的functions.php或你的任何plugin file然后在处理程序中使用它们wp_enqueue_script,如下所示

add_action('wp_enqueue_scripts', 'my_scripts_method');
function my_scripts_method() {
    wp_register_script('xxx'); // replace the xxx with valid script name
    wp_enqueue_script('jquery');
    wp_enqueue_style(xxx) // if you have any
}
于 2012-07-05T01:24:32.263 回答