Dobbiamo cercare un po 'più a fondo qui per ottenere una risposta alla tua domanda.
Quindi, bloginfo
è un semplice wrapper in giro get_bloginfo
.
<?php
function bloginfo( $show='' ) {
echo get_bloginfo( $show, 'display' );
}
Nota il secondo argomento display
. Vediamo cosa fa.
<?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 il filtro è impostato display
sull'uscita di get_bloginfo
viene eseguito attraverso un filtro.
Piuttosto che codificare qualcosa come una chiamata esc_html
in una funzione, WP usa il proprio sistema hook per fare le cose. Il posto dove trovare quello che succede è dentro wp-includes/default-filters.php
. Una rapida ricerca bloginfo
in quel file rivela ...
<?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' );
}
bloginfo
è nascosto nella foreach
matrice. Come puoi vedere, l'output di bloginfo
viene evaso con esc_html
.
In altre parole, questo:
<?php
bloginfo('name');
È equivalente a questo:
<?php
echo esc_html(get_bloginfo('name'));
O questo:
<?php
echo get_bloginfo('name', 'display');
Quindi, no, bloginfo
non è necessario sfuggire all'output di . Né l'output di get_bloginfo
finché il secondo argomento è impostato su display
.
L'avvertimento, tuttavia, è che chiunque può rimuovere il esc_html
filtro bloginfo
. Quindi è probabilmente più sicuro sfuggire all'output. E, naturalmente, se stai utilizzando l'output di bloginfo
qualcosa di diverso dalla visualizzazione HTML (ad es. Nell'attributo alt di un'immagine), dovresti eseguirlo esc_attr
.