web-dev-qa-db-fra.com

Ajouter <div> automatiquement à <table> dans Wordpress lors de l'utilisation du référencement de filtre?

Est-ce que quelqu'un sait comment j'ajouterais automatiquement <div class="table-responsive"> avant chaque instance d'un <table> sur un site WordPress utilisant le référencement de filtre? J'aurais aussi besoin d'ajouter un </div> à chaque instance de </table>.

1
NiamLeeson

Vous pouvez filtrer the_content et utiliser preg_replace() pour rechercher des instances de <table></table>, puis les entourer de votre <div>.

add_action( 'the_content', 'wpse_260756_the_content', 10, 1 );
function wpse_260756_the_content( $content ) {
  $pattern = "/<table(.*?)>(.*?)<\/table>/i";
  $replacement = '<div class="table-responsive"><table$1>$2</table></div>';

  return preg_replace( $pattern, $replacement, $content );
}
1
Nathan Johnson