it-swarm.com.de

Hinzufügen von benutzerdefiniertem Code in der Datei header.php Verwenden eines Plugins

Ich habe eine Reihe von Code, den ich in der Regel in den header.php jeder Website schreibe, die ich für Internet Explorer spezifisch mache.

Ich habe mich gefragt, ob es eine Möglichkeit gibt, Code in einen 'Standard'-header.php einzufügen.

Ja, ich kann den Header einfach ändern. Aber die Idee ist, dies zu einem Plugin zu machen, das generisch ist.

Insbesondere möchte ich ein Plug-in erstellen, um Folgendes in der Kopfzeile unmittelbar nach dem Standard-Stylesheet wiederzugeben:

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

Insbesondere möchte ich ein Plug-in erstellen, das die folgenden Informationen in der Kopfzeile direkt nach dem Standard-Stylesheet wiedergibt

Die bevorzugte Methode ist enqueue it mit dem Standard-Stylesheet/main als Abhängigkeit .

Hier ist ein Demo-Plugin mit der Struktur:

+ plugins/
|
+--+ my-ie-style/
   |    
   +--+ my-ie-style.php
   |
   +--+ css/
      |
      +--+ ie.css

wo die my-ie-style.php datei ist:

<?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
    );
} );

Dadurch wird im Tag <head> Folgendes generiert:

<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]-->

hier wird unser Stylesheet custom IE nach dem Stylesheet main geladen.

Hoffentlich können Sie es an Ihre Bedürfnisse anpassen.

1
birgire

Sie möchten wp_enqueue_style(). Es gilt als Best Practice und rundum eleganter als das Einhängen in den wp_head.

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

0
Justin W Hall