子主题没有呈现父Java脚本和自己的Java脚本(但正确加载了css,js没有)

时间:2021-02-21 作者:Jan

我有一个子主题和一个非常空的函数。php。子主题提取来自父主题的CSS,but the whole JS section from the parent theme is not rendered in the DOM at all. (我对WP dev很陌生)。我错过什么了吗?我做错了什么?

这是我的子主题的基本文件结构:

/themes
  /main-theme
  /main-theme-child
    /js
       custom_script.js
    functions.php
    screenshot.png
    style.css
我通过插件(子主题配置器)创建了子主题

功能。php


<?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:
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( \'chld_thm_cfg_parent_css\' ) ):
    function chld_thm_cfg_parent_css() {
        wp_enqueue_style( \'chld_thm_cfg_parent\', trailingslashit( get_template_directory_uri() ) . \'style.css\', array( \'bootstrap\',\'font-awesome\',\'flaticon\',\'animate\',\'hover\',\'owl-theme\',\'jquery-ui\',\'fancybox\' ) );
    }
endif;
add_action( \'wp_enqueue_scripts\', \'chld_thm_cfg_parent_css\', 10 );

// END ENQUEUE PARENT ACTION

function custom_enqueue_scripts() {
    wp_enqueue_script( \'consultox-main-script\', get_stylesheet_directory_uri().\'/js/custom_script.js\', array(), false, true );
}
add_action( \'wp_enqueue_scripts\', \'custom_enqueue_scripts\' );
  • How get I all the basic functionality of the parent theme working?
  • How can I get my custom javascript loaded?

    提前非常感谢!

1 个回复
SO网友:HU ist Sebastian

功能get_template_directory_uri 始终返回父主题的目录,即使是在子主题中,而函数get_stylesheet_directory_uri() 返回子主题的目录。

我猜您的脚本在父主题中排队时使用了;get_stylesheet_directory_uri"E;方法,这意味着在子主题中找不到javascript。

我建议将父级和子级(但不是主样式css)中的所有排队更改为使用get_theme_file_uri(file) 像这样:

function custom_enqueue_scripts() {
    wp_enqueue_script( \'consultox-main-script\', get_theme_file_uri(\'/js/custom_script.js\'), array(), false, true );
}
add_action( \'wp_enqueue_scripts\', \'custom_enqueue_scripts\' );
get_theme_file_uri 其工作原理是查找搜索文件的当前主题,如果未找到,则在父主题中查找文件(如果有)。这样,正确的样式和脚本就会加载到父主题和子主题中;)

快乐的编码!

相关推荐

Child-theme breaks site

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