J'ai changé de thème/plugin maintenant le contenu de la publication affiche toujours des codes courts.
Il y a quelques astuces pour les cacher, mais chaque fois que j'utilise des fonctions de contenu, les codes abrégés réapparaissent. De plus, mes shortcodes sont le "type étendu" tels que [theshortcode id="34877"]
, [theshort size="large" "tiny"]
etc., de sorte que les astuces pour les supprimer de la base de données ne fonctionnent pas du tout.
Veuillez sauvegarder votre base de données avant d'essayer
Dans votre thème actuel, ouvrez le fichier functions.php
et ajoutez le code ci-dessous. Dans theshortcodeyouhate
, indiquez le shortcode dont vous souhaitez vous débarrasser, notez que même les types étendus fonctionnent bien!
Une fois que vous avez ajouté ce code, appuyez sur F5 et vous avez terminé.
add_action ('init','remove_shortcode_from_db'); //you can choose any other actions such wp_head etc
function remove_shortcode_from_db($shortcode = 'theshortcodeyouhate') {
global $wpdb;
$posts = $wpdb->get_results("SELECT ID,post_title,post_content FROM
$wpdb->posts");
$regex =
'/\[(\[?)('.$shortcode.')\b([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([
^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)/s';
foreach($posts as $post) {
$final = preg_replace($regex,'',$post->post_content);
$change = $wpdb->update( $wpdb->posts, array('post_content' =>
$final), array('ID' => $post->ID));
}
}
Merci à la liste de diffusion wp-hackers