Existe uma maneira de um plugin adicionar um atributo à tag html de um tema?

4

Atualmente estou trabalhando em um plugin appcache para o WordPress. Uma coisa que deve fazer é adicionar uma referência de manifesto na tag <html> do site. Tem que se parecer com algo assim:

<html manifest="manifest.appcache">

Existe alguma maneira de fazer isso programaticamente dentro de um plugin? Minha idéia atual seria identificar a parte <html do arquivo de cabeçalho de um tema e injetar o manifesto usando algo como str_replace() . No entanto, não consigo ver uma maneira de filtrar a saída da função get_header() por meio da função get_header() ou load_template() .

Se alguém tiver alguma ideia, agradeço a ajuda.

    
por Jack Lenox 30.07.2014 / 17:27

1 resposta

5

Provavelmente você pode usar o language_attributes filter (da função language_attributes() ) para adicioná-lo.

Ele deve receber uma saída como lang="en" e você pode adicioná-lo antes de imprimir na tag <html> :

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

ou sem uma função anônima

add_filter( 'language_attributes', 'wpse140730_add_manifest_to_language_attributes' );

function wpse140730_add_manifest_to_language_attributes($output) {

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

}
    
por moraleida 30.07.2014 / 17:52