Temos que olhar um pouco mais aqui para obter uma resposta para sua pergunta.
Então, bloginfoé um invólucro simples get_bloginfo.
<?php
function bloginfo( $show='' ) {
echo get_bloginfo( $show, 'display' );
}
Observe o segundo argumento display. Vamos ver o que isso faz.
<?php
function get_bloginfo( $show = '', $filter = 'raw' ) {
// snip snip, $output is fetched somewhere in here
if ( 'display' == $filter ) {
if ( $url )
$output = apply_filters('bloginfo_url', $output, $show);
else
$output = apply_filters('bloginfo', $output, $show);
}
return $output;
}
Se o filtro estiver definido como displaya saída de, get_bloginfoserá executado um filtro.
Em vez de codificar algo como uma chamada esc_htmlem uma função, o WP usa seu próprio sistema de gancho para fazer as coisas. O lugar para descobrir onde é que isso acontece wp-includes/default-filters.php. Uma pesquisa rápida bloginfonesse arquivo revela ...
<?php
// Format strings for display.
foreach ( array( 'comment_author', 'term_name', 'link_name', 'link_description', 'link_notes', 'bloginfo', 'wp_title', 'widget_title' ) as $filter ) {
add_filter( $filter, 'wptexturize' );
add_filter( $filter, 'convert_chars' );
add_filter( $filter, 'esc_html' );
}
bloginfoestá oculto na foreachmatriz. Como você pode ver, a saída de bloginfoé escapada esc_html.
Em outras palavras, isso:
<?php
bloginfo('name');
É equivalente a isso:
<?php
echo esc_html(get_bloginfo('name'));
Ou isto:
<?php
echo get_bloginfo('name', 'display');
Portanto, não, a saída de bloginfonão precisa ser escapada. Nem a saída get_bloginfoenquanto o segundo argumento estiver definido como display.
A ressalva, no entanto, é que qualquer pessoa pode remover o esc_htmlfiltro bloginfo. Portanto, é mais seguro escapar da saída. E, é claro, se você estiver usando a saída de bloginfoalgo diferente de exibição em HTML (por exemplo, no atributo alt de uma imagem), você deve executá-la esc_attr.