web-dev-qa-db-fra.com

Un plugin peut-il ajouter des éléments d'en-tête/pied de page/corps?

Je termine juste mon premier plugin WordPress et la dernière chose que je voudrais faire est de prendre une donnée connue du plugin (de la table wp_options) et l'afficher dans l'en-tête ou le pied de page du site. Ce sera simplement une petite div stylée avec un code de 6 caractères.

Tout d'abord, est-ce même possible? Un plugin a-t-il la possibilité de modifier un thème d'utilisateurs?

Si cela est possible, quelles sont les meilleures pratiques et/ou "pièges" à garder à l'esprit lorsque vous le faites? Il est évident que tous les thèmes sont assez différents et je souhaite aborder cette question de la manière la plus générique et la plus discrète possible.

Si un plugin ne peut pas faire une telle chose, je devrais imaginer qu'il peut écrire du HTML quelque part lorsque le contenu est rendu, encore une fois, quelles sont les meilleures pratiques pour gérer ce genre de choses?

Ceci est mon premier échange de pile sans aucun code, mais comme il s’agit d’une question générique et non spécifique à une méthode particulière (pour le moment), j’estime qu’elle est toujours appropriée.

Merci!

2
Nicholas Kreidberg

Crochets vont être votre meilleur ami ici.

Vous pouvez filtrer le contenu d'un article en utilisant le filtre the_content, par exemple:

add_filter('the_content', 'wse_174099_append_to_content');

function wse_174099_append_to_content( $content ) {
    //get your data
    $custom_items = get_option( 'option_name' );

    $content .= wpautop( $custom_items );

   //always return when using a filter
    return $content;
}

Vous pouvez accéder au pied de page du site en accédant à l'action wp_footer :

add_action('wp_footer', 'your_function');
function your_function() {
    $custom_items = get_option( 'option_name' );
    echo $custom_items;
}

Vous pouvez également consulter les actions get_header et get_footer . Le seul problème est que vous ne pouvez pas contrôler à quel endroit le thème appelle les fichiers d’en-tête et de pied de page. Ce peut être un mauvais endroit pour afficher votre code.

J'espère que cela t'aides!

1
Welcher