我是WordPress自定义主题开发的新手。我正在为OceanWP使用儿童主题。我有一个网页包设置来热加载我的文件,但我的js脚本没有被发送到我的WordPress站点,而是作为CSS样式表发送,然后Chrome给我以下警告:
Resource interpreted as Stylesheet but transferred with MIME type application/javascript:
当我检查警告时,索引。html文件错误地显示了此链接标记,从而生成了我的脚本包。js文件转换为CSS样式表:
<link rel=\'stylesheet\' id=\'main-bundled-js-css\' href=\'//localhost:3000/wp-content/themes/oceanwp-child/js/scripts-bundled.js?ver=1.1.1564978919\' type=\'text/css\'
我的问题是,这在我的代码中发生在哪里?
下面是我的功能。php文件,我只添加了load\\u js\\u files()和它的add\\u操作。其余部分来自OceanWP违约。
<?php
// Exit if accessed directly
if ( !defined( \'ABSPATH\' ) ) exit;
// BEGIN ENQUEUE PARENT ACTION
// AUTO GENERATED - Do not modify or remove comment markers above or below:
function load_js_files()
{
wp_enqueue_script(\'my-custom-js\', get_theme_file_uri(\'/js/scripts-bundled.js\'));
}
add_action(\'wp_enqueue_scripts\', \'load_js_files\');
if ( !function_exists( \'chld_thm_cfg_locale_css\' ) ):
function chld_thm_cfg_locale_css( $uri ){
if ( empty( $uri ) && is_rtl() && file_exists( get_template_directory() . \'/rtl.css\' ) )
$uri = get_template_directory_uri() . \'/rtl.css\';
return $uri;
}
endif;
add_filter( \'locale_stylesheet_uri\', \'chld_thm_cfg_locale_css\' );
if ( !function_exists( \'child_theme_configurator_css\' ) ):
function child_theme_configurator_css() {
wp_enqueue_style( \'chld_thm_cfg_child\', trailingslashit( get_stylesheet_directory_uri() ) . \'style.css\', array( \'font-awesome\',\'simple-line-icons\',\'magnific-popup\',\'slick\',\'oceanwp-style\' ) );
}
endif;
add_action( \'wp_enqueue_scripts\', \'child_theme_configurator_css\', 10 );
// END ENQUEUE PARENT ACTION
这个问题使得我的任何自定义javascript文件都变得无用,因为它们没有作为js文件发送到我的WordPress站点。
最合适的回答,由SO网友:wen ten 整理而成
好的,我设法解决了这个问题,因为我使用了错误的WP函数来指向我的子主题目录,从而指向我的捆绑javascript脚本。
我清除了我的功能。php文件并添加了以下内容,现在一切正常:
function load_js_files()
{
wp_enqueue_script( \'script\', get_stylesheet_directory_uri() . \'/js/scripts-bundled.js\', array ( \'jquery\' ), 1.1, true);
}
add_action(\'wp_enqueue_scripts\', \'load_js_files\');