Aggiungi classe CSS o ID prima di un post di WordPress / Page
-
21-12-2019 - |
Domanda
Sto costruendo un plugin WordPress, ma al mio plugin work ha bisogno di una classe specifica in codice HTML (collegamento JavaScript), ma tutti i temi dei modelli stanno usando classi diverse per formare i post, ad esempio:
<div class="post_content">
.
o
<div class="content">
.
Come posso incorporare attraverso il mio plugin la mia specifica classe div per identificare un post o una pagina?
Soluzione
Checkout Il codex per body_class()
e post_class()
.Se il tema lo supporta (e ogni tema ben scritto dovrebbe supportarlo) puoi aggiungere le tue classi al corpo o post.
function my_plugin_class($classes) {
if ( my_plugin_is_loaded() ) {
$classes[] = 'my-plugin-class';
}
return $classes;
}
add_filter('post_class', 'my_plugin_class'); // add the class to the post content
add_filter('body_class', 'my_plugin_class'); // add the class to the body tag
.
Puoi differire tra pagine e post con is_page()
e is_single()
Altri suggerimenti
Utilizzare il filtro della classe corporea.Questo aggiungerà una classe all'elemento corporeo.
E.G.
function wpse_plugin_add_body_class( $classes ) {
if ( my_plugin_conditional() ) {
$classes[] = 'my-plugin-class';
}
return $classes;
}
add_filter( 'body_class', 'wpse_plugin_add_body_class' );
.
Assicurarsi di cambiare la funzione condizionale per qualsiasi cosa tu abbia bisogno.Quindi aggiungi il tuo CSS come:
.my-plugin-class #content {
color: #ff0000;
}
.