如何在不同的标题中加载不同的css?

时间:2016-04-04 作者:felix felix

我的主题中有两个不同的头文件。这些是header.phpheader-full.php.

如何在不同的标题中加载不同的CSS?

我将CSS文件排入function.php 像这样:

enter image description here

3 个回复
最合适的回答,由SO网友:Max Yudin 整理而成

排队样式取决于模板文件名:

if(\'header.php\' == basename( get_page_template() ) { // check the template file name
    // enqueue header.php style here
}

if(\'header-full.php\' == basename( get_page_template() ) { // check the template file name
    // enqueue header-full.php style here
}
wp_enqueue_style 已经注册了一个样式,所以在将其排入队列之前不需要注册样式,除非在非常特殊的情况下。看见wp_enqueue_style.

SO网友:Monkey Puzzle

如果您想继续使用排队的文件(可能是个好主意as outlined here), 然后-是的-您可以在函数中添加一些条件。php,例如:

if(some conditional) {
// enqueue header.php style here
}

if(some other conditional) { 
// enqueue header-full.php style here
}
或者,你根本不必让他们排队。您可以在两个头文件中引用它们。例如,在收割台中。php输入:

<link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri(); ?>/bootstrap/css/custom.css" type="text/css" media="screen" />
标题已满。php输入:

<link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri(); ?>/bootstrap/css/full-header.css" type="text/css" media="screen" />

SO网友:Owais Alam

一种简单的方法是使用名为“basename”的php函数。

如果您有2个标题标题。php,标题二。php您可以根据您正在查看的页面的名称加载不同的资源。

<!DOCTYPE html>
 <html>
  <head>
  <meta charset="utf-8"/>
   <?php if(basename($_SERVER[\'PHP_SELF\']) == \'headerone.php\'){ ?>
     <link href="/includes/headerone.css" rel="stylesheet" media="all"/>
   <?php }
   elseif(basename($_SERVER[\'PHP_SELF\']) == \'headertwo.php\'){
   ?>
    <link href="/includes/headertwo.css" rel="stylesheet" media="all"/>
   <?php } ?>
 </head>
<body>

相关推荐

Updating modified templates

我想调整一些。php模板文件在我的WordPress主题中,我知道正确的过程是将相关文件复制到子主题文件夹中并在那里编辑文件,这样我的修改就不会在将来的主题更新中丢失。但这是否意味着我将无法从主题更新中获益,因为我将文件放在了我的子主题文件夹中?这可能不是一件好事,因为主题更新可能添加了一些有用的特性,甚至修复了我最初需要对代码进行调整的问题!这方面的常见解决方案是什么?有人推荐了一款Diff应用程序——这是人们常用的吗?