带有依赖关系的子主题

时间:2014-12-19 13:12:07

标签: php wordpress

我正在尝试创建一个子主题。父主题有一个style.css和all,我正在查看wp_enqueue_style()函数,它说你可以包含依赖项。这意味着主题拥有style.css可以是活动的,而在我的子主题中,如果我在style.css中指定了相同的规则,它应该覆盖它。

但依赖是一个句柄数组。我如何找到这些手柄?

wp_enqueue_style( 'mytheme-style', get_stylesheet_directory_uri().'/style.css', array('main_css') );

我尝试了上面的内容,但它只从子主题加载style.css,而不是父加载。

我在哪里可以找到这些手柄?

编辑:

我找到了用于复制句柄和脚本的代码:

function wpa54064_inspect_scripts() {
    global $wp_scripts;
    foreach( $wp_scripts->queue as $handle ) :
        echo $handle,' ';
    endforeach;
}
add_action( 'wp_print_scripts', 'wpa54064_inspect_scripts' );

function wpa54064_inspect_style() {
    global $wp_styles;
    foreach( $wp_styles->queue as $handle ) :
        echo $handle,' ';
    endforeach;
}
add_action( 'wp_print_scripts', 'wpa54064_inspect_style' );

但它仍然没有像我想象的那样发挥作用。

1 个答案:

答案 0 :(得分:1)

如果有效,

get_stylesheet_directory_uri()将返回子主题网址。

由于您尝试在父主题中加载style.css文件,因此您可以使用get_template_directory_uri()

E.g:

wp_enqueue_style( 'mytheme-style', get_template_directory_uri() . '/style.css', array('main_css') );

我的建议是加载你的样式表(代码进入你的孩子主题&function; .pp):

function wpse_load_styles() {
    wp_enqueue_style( 'parent-styles', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'mytheme', get_stylesheet_uri(), array( 'parent-styles' ) );
}
add_action( 'wp_enqueue_scripts', 'wpse_load_styles' );