似乎无法从子主题中获得有效的javascrip代码

时间:2021-12-19 作者:Spencer Halstead

我的javascript代码不工作。我把js文件夹放在其他文件夹、astra子文件夹、astra文件夹和其他主题旁边。这是正确的吗。然后在js文件夹中,我创建了custom\\u脚本。js文件并将javascript放在那里。和在函数中。php文件将其排队。

<?php
/**
 * Astra Child Theme functions and definitions
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package Astra Child
 * @since 1.0.0
 */

/**
 * Define Constants
 */
define( \'CHILD_THEME_ASTRA_CHILD_VERSION\', \'1.0.0\' );

/**
 * Enqueue styles
 */
function child_enqueue_styles() {

    wp_enqueue_style( \'astra-child-theme-css\', get_stylesheet_directory_uri() . \'/style.css\', array(\'astra-theme-css\'), CHILD_THEME_ASTRA_CHILD_VERSION, \'all\' );

}

add_action( \'wp_enqueue_scripts\', \'child_enqueue_styles\', 15 );

}

function my_scripts_method() {
wp_enqueue_script(
\'custom-script\',
get_stylesheet_directory_uri() . \'/js/custom_script.js\',
);
add_action( \'wp_enqueue_scripts\', \'my_scripts_method\');

}

1 个回复
最合适的回答,由SO网友:Buttered_Toast 整理而成

正如我所说,这段代码有一些问题。

右括号} 没有理由, 在wp_enqueue_script 最后add_action( \'wp_enqueue_scripts\', \'my_scripts_method\'); 在里面my_scripts_method 函数这是您当前的代码,带有一些格式和注释,以显示有问题的代码部分。

<?php
/**
 * Astra Child Theme functions and definitions
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package Astra Child
 * @since 1.0.0
 */

/**
 * Define Constants
 */
define( \'CHILD_THEME_ASTRA_CHILD_VERSION\', \'1.0.0\' );

/**
 * Enqueue styles
 */
function child_enqueue_styles() {
    wp_enqueue_style( \'astra-child-theme-css\', get_stylesheet_directory_uri() . \'/style.css\', array(\'astra-theme-css\'), CHILD_THEME_ASTRA_CHILD_VERSION, \'all\' );
}
add_action( \'wp_enqueue_scripts\', \'child_enqueue_styles\', 15 );

// this closing bracket is not needed
}

function my_scripts_method() {
    // this functions contains , at the end, not needed
    wp_enqueue_script(\'custom-script\',get_stylesheet_directory_uri() . \'/js/custom_script.js\',);
    // this add_action cannot be inside its own  the callback function
    add_action( \'wp_enqueue_scripts\', \'my_scripts_method\');
}
这是正确的代码。

<?php
/**
 * Astra Child Theme functions and definitions
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package Astra Child
 * @since 1.0.0
 */

/**
 * Define Constants
 */
define( \'CHILD_THEME_ASTRA_CHILD_VERSION\', \'1.0.0\' );

/**
 * Enqueue styles
 */
function child_enqueue_styles() {
    wp_enqueue_style( \'astra-child-theme-css\', get_stylesheet_directory_uri() . \'/style.css\', array(\'astra-theme-css\'), CHILD_THEME_ASTRA_CHILD_VERSION, \'all\' );
}
add_action( \'wp_enqueue_scripts\', \'child_enqueue_styles\', 15 );

function my_scripts_method() {
    // this functions contains , at the end, not needed
    wp_enqueue_script(\'custom-script\',get_stylesheet_directory_uri() . \'/js/custom_script.js\');
}
add_action( \'wp_enqueue_scripts\', \'my_scripts_method\');

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c