Je dois implémenter une classe par défaut pour HTML-Tables chez WordPress. Le wp-standard est <table>
.. ist-il un moyen de faire cela, que je reçois cette sortie par défaut? <table class="abc xyz">
peut-être avec des filtres?
Dans votre cas, vous devez ajouter un crochet personnalisé pour le filtre the_content
:
add_filter( 'the_content', 'wpse8170_add_custom_table_class' );
function wpse8170_add_custom_table_class( $content ) {
return str_replace( '<table>', '<table class="mycustom-class">', $content );
}
Ajoutez cet extrait à votre fichier functions.php
.
J'ai fait une simple modification pour que le code reconnaisse les autres styles de la balise:
add_filter( 'the_content', 'wpse8170_add_custom_table_class' );
function wpse8170_add_custom_table_class( $content ) {
return str_replace( '<table', '<table class="my-class"', $content );
}
Il n'y a pas de fonctionnalité de tableau dans les éditeurs par défaut, visuels ou textuels. Par conséquent, sauf si vous utilisez un éditeur tel que CKEditor
qui génère ce balisage, j'utiliserais un shortcode.
function table_wrapper_wpse_114253( $atts, $content = null ) {
return '<table class="abc xyz">'.$content.'</table>';
}
add_shortcode('table','table_wrapper_wpse_114253');
Dans votre contenu, écrivez simplement [table]...[/table]
au lieu de <table>...</table>
Je dois ajouter que si votre thème utilise body_class
et post_class
correctement, et tout ce que vous voulez faire est d’ajouter une classe à chaque <table>
dans le corps du message, il existe presque certainement un balisage existant qui rend inutile ce que vous faites, que vous utilisiez un filtrer sur the_content
comme le suggère @EugeneManuilov ou un shortcode.