Existe-t-il un moyen pour un plugin d'ajouter un attribut à la balise html d'un thème?

4

Je travaille actuellement sur un plugin appcache pour WordPress. Une chose à faire est d’ajouter une référence à un manifeste dans la balise <html> du site. Cela doit ressembler à quelque chose comme ça:

<html manifest="manifest.appcache">

Existe-t-il un moyen de faire cela par programmation dans un plugin? Mon idée actuelle serait d'identifier la partie <html du fichier d'en-tête d'un thème et d'injecter le manifeste à l'aide de quelque chose comme str_replace() . Cependant, je ne vois pas comment filtrer la sortie de la fonction get_header() via l'action get_header() ou la fonction load_template() .

Si quelqu'un a des idées, j'apprécierais de l'aide.

    
posée Jack Lenox 30.07.2014 - 17:27

1 réponse

5

Vous pouvez probablement utiliser le filtre language_attributes (de la fonction language_attributes() ) pour l'ajouter.

Il devrait recevoir une sortie telle que lang="en" et vous pouvez l'ajouter avant l'impression sur la balise <html> :

add_filter( 'language_attributes', function( $attr )
{
    return "{$attr} manifest=\"manifest.appcache\"";
} );

ou sans fonction anonyme

add_filter( 'language_attributes', 'wpse140730_add_manifest_to_language_attributes' );

function wpse140730_add_manifest_to_language_attributes($output) {

    return $output . ' manifest="manifest.appcache"';

}
    
réponse donnée moraleida 30.07.2014 - 17:52

Lire d'autres questions sur les étiquettes