WordPress : Comment détecter le modèle actuel affiché dans WordPress ?
Je développe un thème enfant du thème Twenty Eleven. Là, j’ai besoin d’une personnalisation dans la page du blog. Je veux ajouter une classe à la place de id = "primary"
. Comment découvrir quel modèle rend la page ?
Solution n°1 trouvée
Utilisez le code suivant dans le fichier functions.php
.
Si vous ne l’avez pas, créez-en un vide et utilisez uniquement la balise d’ouverture php ( <?php
).
Cela s’imprimera dans the_content
le thème et le modèle actuels affichés.
Voir la page principale du site : le thème enfant a unindex.php
<img src= »https://i.stack.imgur.com/1lnLQ.png » alt= »index du thème enfant.php » />
Voir un seul message : le thème enfant n’a pas desingle.php
<img src= »https://i.stack.imgur.com/iGV24.png » alt= »thème parent single.php » />
Utiliser un filtre pour ajouter du débogage au contenu : vérifiez les commentaires
add_filter( 'the_content', 'so_13737534_print_template', 20 );
function so_13737534_print_template( $content )
{
// $template value equals to:
// /public_html/wp-content/themes/theme-name/template-name.php
global $template;
// Return normal content if seeing the backend
// or the user is not administrator
if( is_admin() || !current_user_can( 'delete_plugins' ) )
return $content;
// Split the value and build the output html
$split_path = explode( '/', $template );
$total = count( $split_path ) - 1;
$theme_and_template = $split_path[$total-1] . '/' . $split_path[$total];
$print = '<strong style="font-size:1em;background-color:#FFFDBC;padding:8px">Current = ' . $theme_and_template . '</strong>';
// Add our output before the_content
$content = $print . $content;
return $content;
}
La même chose peut être imprimée sous forme de commentaire HTML dans le <head>
, en utilisant :
add_action( 'wp_head', 'so_13737534_print_template_in_head', 999 );
function so_13737534_print_template_in_head()
{
global $template;
echo '
<!--
TEMPLATE = ' . $template . '
-->
';
}
0 commentaire