Intereting Posts
Как выбрать собственный размер загруженного изображения в теме через the_post_thumbnail () ;? Swatch Internet Time для временных меток статьи Лучшая практика отображения данных для одного конкретного пользователя? Настройка плагина Как я могу перемещать / перенаправлять отдельные сообщения в блоге из одного блога в другой? Переход от разработки при выводе производственной базы без перезаписи, в производство Git beginner: отслеживание изменений на сервере Как получить весь пользовательский тип сообщения, отфильтрованный по одному конкретному термину таксономии WP Rest API V2 OR Оператор в URL-адресе Как отключить гиперссылку «по автору» на сообщения? WordPress gallery предыдущие / следующие кнопки, отображающие все изображения медиа-библиотеки Несколько пользовательских полевых запросов редактирование usermeta, когда поле является массивом Код, позволяющий форматирование html в выдержках Как сделать следующую и предыдущую прикрепленную навигацию на странице вложений?

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

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

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

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

В текущей теме откройте файл 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