不同的css文件不适用于我创建的页面模板

时间:2017-02-18 作者:jhndoe1

我创建了一个名为custpage的页面模板。phpI还创建了一个名为style2的单独css文件。css来设置包含html和php代码的custpage的样式。页面模板加载良好,它在页面属性下显示,但css样式表似乎不起作用。

这就是我在函数中所做的。php

function register_cust_style() {
  if ( is_page_template( \'custpage.php\' ) ) {
    wp_enqueue_style( \'vega\', get_stylesheet_directory_uri() . \'/style2.css\' );
  }
}
add_action( \'wp_enqueue_scripts\', \'register_cust_style\' );
css文件位于vega/style2中。css(其中vega是模板目录的名称)。

3 个回复
SO网友:David Lee

仅当模板位于根文件夹中时,如果它位于子目录中,则此操作才有效,您也需要提供:

if ( is_page_template( \'template_folder_name/custpage.php\' ) ) {
    wp_enqueue_style( \'vega\', get_stylesheet_directory_uri() . \'/style2.css\' );
}

SO网友:TrubinE

\'vega\' - 必须是唯一的名称(例如:“vega custpage css”)

wp_enqueue_style( \'vega-custpage-css\', get_stylesheet_directory_uri() . \'/style2.css\' );
样式文件必须位于:

http://site.ru/wp-content/themes/twentyten/style2.css

SO网友:majick

为了帮助调试,您首先需要知道is_page_template 是否返回true。。。为此,你可以做一些像。。。

add_action(\'wp\',\'page_template_check\');

function page_template_check() {
    if ( is_page_template( \'custpage.php\' ) ) {
        echo "<!-- custpage.php is correct -->";
    }

    $template = get_page_template_slug( get_the_ID() );
    echo "<!-- Template: \'".$template."\' -->";
}
(第二次测试来自is_page_template 开发人员代码页。

然后查看页面源。。。如果结果不同,则进行调整;如果结果相同,则问题在于排队(您需要一个独特的slug,如@TrubinE所述)

相关推荐

在带有PHP的子主题中包含style.css

在里面https://codex.wordpress.org/Child_Themes 这是包含样式的最佳实践。css在子主题中,必须将下面的代码放入函数中。php的子主题,但将“父样式”替换为可以在函数中找到的父主题的参数。父主题的php。我在我的主题文件中找不到它,那里也没有多少代码。使用@import包含父主题样式表的方法不适用于我,放入文件的css不会在任何浏览器的站点上显示自己。function my_theme_enqueue_styles() { $parent_s