我正在尝试从html5blank主题中创建一个子主题。我已经设法使用以下内容使我的子主题CSS工作:
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/css/main.css' );
}
?>
但是父母的样式仍然是继承的。这些是style.css
和normalize.css
。我根本不需要这些文件。
所以我被告知我需要使用wp_dequeue_style().
“使用wp_dequeue_style()删除父排队文件”和添加您的挂钩,其优先级高于默认值10.这是add_action()的第三个可选参数。像100这样的东西。
不幸的是,我真的在努力完成这项基本任务,我已经尝试过,但我无法让它发挥作用。我试过以下但显然这是完全错误的!
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/css/main.css' );
wp_dequeue_style( 'parent-style-css', get_template_directory_uri() . '/style.css', 100 );
wp_dequeue_style( 'parent-normalize-css', get_template_directory_uri() . '/normalize.css', 100 );
}
?>
任何人都可以帮忙吗?我确信这是直截了当的,但我没有线索!
另外,我猜我是否不需要来自父母的JS,因为我会在我的孩子中使用它,我想我会使用这些方法将它们排队/出列?
修改
这更像是......
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles', 100 );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'main-css', get_stylesheet_directory_uri() . '/css/main.css' );
wp_dequeue_style( 'normalize');
wp_dequeue_style( 'html5blank');
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_scripts', 100 );
function my_theme_enqueue_scripts() {
wp_deregister_script( 'conditionizr');
wp_deregister_script( 'modernizr');
wp_deregister_script( 'html5blankscripts');
wp_register_script('jquery', get_template_directory_uri() . '/js/jquery-1.12.0.min.js', array('jquery'), '1.12.0'); // Custom scripts
wp_enqueue_script('jquery'); // Enqueue it!
wp_register_script('responsive-nav', get_template_directory_uri() . '/js/responsive-nav.js', array('jquery'), '1.0.0'); // Custom scripts
wp_enqueue_script('responsive-nav'); // Enqueue it!
wp_register_script('uniform-js', get_template_directory_uri() . '/js/jquery.uniform.min.js', array('jquery'), '1.0.0'); // Custom scripts
wp_enqueue_script('uniform-js'); // Enqueue it!
wp_register_script('main-js', get_template_directory_uri() . '/js/main.js', array('jquery'), '1.0.0'); // Custom scripts
wp_enqueue_script('main-js'); // Enqueue it!
}
?>
答案 0 :(得分:2)
说明只是告诉你改变这个......
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
进入这个...
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles', 100 );
完整的方法调用是......
add_action( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 )
只有前两个是必需的,其他人有默认值,以防你将它们留空。
此外,要出列,您只需要父标识符的名称,而不是所有文件详细信息。
wp_dequeue_style( 'name-of-identifier-in-parent-theme' );
看起来你把优先权放在了错误的函数调用上。
是的,您也可以使用此方法将javascript文件出列。