web-dev-qa-db-fra.com

Insérer du code HTML juste après la balise <body>

J'utilise le thème Wordpress Twenty Twelve (un enfant de celui-ci pour être précis).

Je veux savoir comment insérer du code HTML juste après l'ouverture du corps, uniquement dans functions.php et non avec header.php.

Est-ce possible?

6
Ramanan

Twenty Twelve n'a aucun crochet qui se déclenche immédiatement après la balise d'ouverture <body>.

Par conséquent, dans votre thème enfant qui étend le thème parent Twenty Twelve, copiez le header.php dans le répertoire de votre thème enfant.

Ouvrez le fichier header.php dans votre thème enfant et, juste après la balise d'ouverture du corps, ajoutez un crochet d'action auquel vous pouvez ensuite accrocher via votre fichier functions.php.

Par exemple, dans votre fichier twenty-twelve-child/header.php:

<body <?php body_class(); ?>>

<?php do_action('after_body_open_tag'); ?>

Puis dans votre fichier twenty-twelve-child/functions.php:

function custom_content_after_body_open_tag() {

    ?>

    <div>My Custom Content</div>

    <?php

}

add_action('after_body_open_tag', 'custom_content_after_body_open_tag');

Ceci sera ensuite rendu dans votre code HTML comme suit:

<body>
<div>My Custom Content</div>

Lecture recommandée:

https://developer.wordpress.org/reference/functions/do_action/

12
userabuser

Une solution très très sale serait:

/* Insert tracking code or other stuff directly after BODY opens */
add_filter('body_class', 'wps_add_tracking_body', PHP_INT_MAX); // make sure, that's the last filter in the queue
function wps_add_tracking_body($classes) {

  // close <body> tag, insert stuff, open some other tag with senseless variable      
  $classes[] = '"><script> /* do whatever */ </script><noscript></noscript novar="';

  return $classes;
}
2

Ajoutez ce code dans functions.php

function my_function() {
 echo'<div id="from_my_function"></div>';

}
add_action('wp_head', 'my_function');
0
Jatinder Kaur