2
votes

I am getting two types of errors that I don't know how to fix.

You can see the errors here: http://www.brainbuzzmedia.com/themes/vertex/

The first type occurs twice and looks like this:

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

I have a call in functions.php:

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

The second error type is this:

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

No matter where (inside or outside of if statements or both) I define these variables they are still giving me this error.

* update

I have some other scripts enqueued in a subfolder of the theme's files, mostly used for admin area.

$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'));

I think they may also be needed for front end display as well. How would I enqueue these the right way?

  • update 2

Here is the code where two of the undefined property errors occur:

link to txt

1
About the second problem, can you attach the relevant lines from your theme's files?yoavmatchulsky
added a link to the php file just in a txtBRAINBUZZ media

1 Answers

2
votes

Use the wp_enqueue_scripts action to call this function, or admin_enqueue_scripts to call it on the admin side.

To load it for front end, use

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

To load it for admin, use

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

Reference: Codex.

The second error occured because jQuery is not loaded.

Update:

If you hae any wp_register_script(xxx)orwp_enqueue_style(xxx)call in yourfunctions.php or in your any plugin file directly then use them inside wp_enqueue_script handler as follows

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
}