Как избавиться от коротких кодов в почтовом контенте раз и навсегда

Я изменил тему / плагин, теперь содержимое сообщения все еще отображает короткие коды.

Есть несколько советов по их укрытию, но каждый раз, когда я использую некоторые функции контента, короткие коды появляются снова. Кроме того, мои короткие коды являются «расширенным типом», таким как [theshortcode id="34877"] , [theshort size="large" "tiny"] т. Д. Поэтому советы по их удалению из базы данных вообще не работают.

Solutions Collecting From Web of "Как избавиться от коротких кодов в почтовом контенте раз и навсегда"

Перед созданием базы данных

В текущей теме откройте файл functions.php и добавьте код ниже. В theshortcodeyouhate сообщите короткий код, из которого вы хотите избавиться, обратите внимание, что даже расширенные типы работают красиво!

Когда вы добавите этот код, нажмите F5, и все будет готово.

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

Благодаря списку рассылки wp-hackers