使用插件将定制代码添加到header.php中

时间:2013-02-12 作者:jchwebdev

我有一堆代码,我倾向于把它们放进header.php 我所做的每一个特定于Internet Explorer的站点。

我想知道是否有办法将代码插入“标准”header.php.

是的,我可以简单地修改标题。但我们的想法是让它成为一个通用的插件。

具体来说,我想创建一个插件,在默认样式表之后立即在标题中响应以下内容:

<!--[if IE]>
  <link rel="stylesheet" href="<?php bloginfo(\'stylesheet_directory\'); ?>/ie.css" type="text/css" />
<![endif]-->

2 个回复
最合适的回答,由SO网友:birgire 整理而成

具体来说,我想创建一个插件,在默认样式表之后立即在标题中响应以下内容

首选方法是将其排队,默认/主样式表作为依赖项。

下面是一个演示插件,其结构如下:

+ plugins/
|
+--+ my-ie-style/
   |    
   +--+ my-ie-style.php
   |
   +--+ css/
      |
      +--+ ie.css
其中my-ie-style.php 文件为:

<?php
/**
 * Plugin Name: Demo - My IE style
 * Plugin URI:  http://wordpress.stackexchange.com/a/85496/26350
 * Description: Enqueue With IE conditional, depending on the main-style stylesheet
 * Author:      wpse
 * Version:     1.0.0
 */
add_action( \'wp_enqueue_scripts\', function()
{
    // Register
    wp_register_style( 
       \'my-ie-style\',                                 // handle
       plugin_dir_url( __FILE__  ) . \'css/ie.css\',    // file
       [ \'main-style\' ],                              // dependency    <-- ADJUST THIS!
       \'1.0.0\',                                       // version
       \'all\'                                          // media
    );

    // Enqueue
    wp_enqueue_style( \'my-ie-style\' );

    // Add IE conditional
    wp_style_add_data( 
        \'my-ie-style\',  // handle
        \'conditional\',  // key (\'conditional\', \'rtl\', \'suffix\', \'after\', \'alt\', \'title\')
        \'IE\'            // value
    );
} );
这将在<head> 标签:

<link rel=\'stylesheet\' 
      id=\'main-style-css\'  
      href=\'http://example.tld/wp-content/themes/mytheme/style.css?ver=4.5.3\' 
      type=\'text/css\' 
      media=\'all\' />

<!--[if IE]>
<link rel=\'stylesheet\' 
      id=\'my-ie-style-css\' 
      href=\'http://example.tld/wp-content/plugins/my-ie-style/css/ie.css?ver=1.0.0\' 
      type=\'text/css\' 
      media=\'all\' />
<![endif]-->
其中,我们的自定义IE样式表加载在主样式表之后。

希望你能根据自己的需要进行调整。

SO网友:Justin W Hall

你想要的wp_enqueue_style(). 这被认为是最佳实践,比挂在wp\\U头更优雅。

http://codex.wordpress.org/Function_Reference/wp_enqueue_style

结束

相关推荐

当尝试向我的登录页面添加一个css文件时,会出现“Headers Always Sent”?

我看过的每一篇关于这个主题的教程都已经过时了,所以我希望这里的人能帮助我。我想为我的wp登录设置样式。带有CSS文件的php页面。但我想以一种在Wordpress更新时不会被覆盖的方式来做。据我所知,根据我读到的图茨,在我的主题函数中使用函数添加它的最佳方式。php文件。不幸的是,人们建议使用的代码并不适合我。这是我添加的代码。<?php function custom_login() { echo \'<link rel=\"stylesheet\" href=\"wplog