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?
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/
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;
}
Ajoutez ce code dans functions.php
function my_function() {
echo'<div id="from_my_function"></div>';
}
add_action('wp_head', 'my_function');