it-swarm.com.de

hinzufügen von benutzerdefinierten Klassen für Tabellen

Ich muss eine Standardklasse für HTML-Tabellen bei WordPress implementieren. Der WP-Standard ist <table>

.. gibt es eine Möglichkeit, dies zu tun, dass ich diese Ausgabe standardmäßig erhalten? <table class="abc xyz">

vielleicht mit filtern?

1
hazelnut

In Ihrem Fall müssen Sie einen benutzerdefinierten Hook für den the_content-Filter hinzufügen:

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 );
}

Fügen Sie dieses Snippet Ihrer functions.php-Datei hinzu.

2
Eugene Manuilov

Ich habe eine einfache Änderung vorgenommen, damit der Code andere Stile im Tag erkennt:

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 );
}
2
Andrés

Es gibt keine Tabellenfunktionalität in den Standardeditoren (visuell oder Text). Wenn Sie also keinen Editor wie CKEditor verwenden, der dieses Markup generiert, würde ich einen Shortcode verwenden.

function table_wrapper_wpse_114253( $atts, $content = null ) {
  return '<table class="abc xyz">'.$content.'</table>';
}
add_shortcode('table','table_wrapper_wpse_114253');

Schreiben Sie in Ihren Inhalten einfach [table]...[/table] anstelle von <table>...</table>

Ich muss hinzufügen, dass, wenn Ihr Thema body_class und post_class korrekt verwendet, und alles, was Sie tun möchten, ist, jedem <table> im Post-Body eine Klasse hinzuzufügen. Mit ziemlicher Sicherheit ist ein vorhandenes Markup vorhanden, das das, was Sie tun, überflüssig macht, unabhängig davon, ob Sie a verwenden Filtern Sie nach the_content, wie es @EugeneManuilov vorschlägt, oder nach einem Shortcode.

0
s_ha_dum