我正在为报纸7构建一个儿童主题,并尝试为某些页面调用特定的样式表,但是is\\u page()对我不起作用。我应该在代码中做些什么才能完成我想做的事情?
这是我的代码:
<?php
add_action( \'wp_enqueue_scripts\', \'theme_enqueue_styles\', 1001);
function theme_enqueue_styles() {
wp_enqueue_style(\'td-theme\', get_template_directory_uri() . \'/style.css\', \'\', TD_THEME_VERSION . \'c\' , \'all\' );
wp_enqueue_style(\'td-theme-child\', get_stylesheet_directory_uri() . \'/style.css\', array(\'td-theme\'), TD_THEME_VERSION . \'c\', \'all\' );
if( is_page( array( \'about-me\', \'contact\', \'social-media\'))) {
wp_enqueue_style( \'td-theme-child\', get_stylesheet_directory_uri().\'/style2.css\'. \'c\', \'all\' );
}
}
最合适的回答,由SO网友:Bruno Cantuaria 整理而成
的第一个参数wp_enqueue_style
和wp_register_style
用于注册样式表以供以后使用。所以,您可以提前注册它,然后只需指定它的第一个参数就可以调用它。
在这种情况下,您正在注册样式表并将其排入队列td-theme-child
, 哪个文件是style.css
. 之后,如果条件通过,您将注册样式表并将其排入队列td-theme-child
, 哪个文件是style2.css
... 但是,WP已经发送了td-theme-child
, 所以style2.css
永远不会访问浏览器。
因此,简而言之,只需更改style2的第一个参数。css排队行:
wp_enqueue_style( \'td-theme-child2\', get_stylesheet_directory_uri().\'/style2.css\'. \'c\', \'all\' );