Intereting Posts
Разрешение электронной почты как имя пользователя? Как создать несколько меню WordPress Дублированный сайт WordPress STILL, связанный со старым сайтом wordpress логин без пароля только адрес электронной почты (NO 2-фактор аутентификации с электронной почтой) В чем преимущество использования header-catname.php над is_category ('catname') ;? Как получить текущее имя страницы в моем плагине wordpress Правильный способ сериализации данных таблицы опций? Загрузка файлов шаблонов из подпапки в моей теме? Фильтровать сообщения / страницы с помощью user_role array почему функция избранных изображений не отображается в пользовательском типе сообщений? WordPress запрос на выбор шрифта по почте post_title Как сбросить пароли для всех пользователей в сети, используя wp cli Есть ли возможность управлять плагинами? Nginx – Правило только для загрузки в WordPress CSS не загружается внутри администратора WP

Ошибка SQL с ошибкой post_content

Позвольте мне рассказать вам мою историю … У меня возникла проблема с символом Â, видимым в содержании сообщения. Вместо редактирования каждого из них я просил простой запрос:

UPDATE wp_posts SET post_content = REPLACE( post_content, binary 'Â', '' ); 

Все было хорошо до сих пор, однако, после добавления новых сообщений проблема снова вернулась, поэтому я думал, что триггер станет ключом! Поэтому я написал следующее:

 CREATE TRIGGER watch_posts AFTER INSERT ON wp_posts FOR EACH ROW UPDATE wp_posts SET post_content = REPLACE( post_content, binary 'Â', '' ); 

С этого момента в большинстве сообщений у меня теперь есть пустая страница редактирования, где число слов равно 0. Но база данных по-прежнему состоит из post_content, которая не является пустой. Как предотвратить, чтобы существующие сообщения больше не были пустыми?

Я написал фильтр для вас. Он будет фильтровать символ до того, как сообщение будет сохранено в базе данных, и оно использует способ WordPress . Если вы используете это, я думаю, вам не понадобится триггер. Вот-

 add_filter( 'wp_insert_post_data' , 'the_dramatist_filter_content_before_insert' , '99', 2 ); function the_dramatist_filter_content_before_insert( $data , $postarr ) { $search = array('Â'); // You can add other replacement finding here also $replace = array(''); // The replacements $data['post_content'] = str_replace($search, $replace, $data['post_content']); // Now just return the data return $data; } 

Надеюсь, что это поможет.