Как редактировать тысячи сообщений WordPress с помощью одной команды SQL

как редактировать WordPressВладеть блогом WordPress и вести его очень весело, особенно когда вы только начинаете. Создайте сайт или выберете классную тему и напишите первые несколько постов в ожидании огромного количества людей, которые, как вы уверены, направляются к вам. Реальность не займет много времени, и, прежде чем вы узнаете ее, вам не понравится тема, поток посетителей — не более чем струйка, и вы понимаете, что у вашего веб-хостинга не хватает мощности, в которой вы нуждаетесь ,

Создание блога занимает годы, и много боли и борьбы — я уверен, что Айбек подтвердит это. Затем происходят главные переходы, когда вы понимаете, что должны внести некоторые важные изменения, и это займет много работы.

В моем собственном блоге пришлось внести ряд важных изменений, но одно из самых трудных было связано с тем, что я использовал определенный ручной метод для вставки рекламы Google в статьи блога.

Изменение сообщений с помощью одной команды SQL

Проблема в том, что после нескольких лет работы над блогом у меня было около 1000 постов с этой рекламой Google, вставленной вручную. Если бы я когда-нибудь захотел внести изменения, мне нужно было бы отредактировать тысячу постов.

Я хотел использовать эту замечательную надстройку шаблона в посте, о которой я писал в 2010 году. Это автоматизировало бы вставку рекламы, продвигающейся вперед, но если бы я использовал ее, не удаляя все эти существующие рекламы, я бы получил два реклама в старых статьях.

Чтобы удалить старую рекламу, мне пришлось немного поработать над магией SQL, и я собираюсь поделиться этим с вами сегодня. Действие происходит в phpMyAdmin, и вам нужно выбрать базу данных вашего блога в левом меню.

как редактировать WordPress

Код, который вы собираетесь использовать для удаления разделов вашего контента, будет в теге SQL. Под этим я подразумеваю код, который я собираюсь показать вам, вы сможете использовать для удаления любого контента, который существует в нескольких сообщениях в блоге, от 2 до 200 и более. Единственное требование заключается в том, что то, что вы хотите удалить, должно иметь общий начальный текст и конечный текст — как у рекламы Google есть общий начальный тег и конечный тег.

WordPress Редактировать страницу

Вот как выглядят мои новые записи в блоге: объявление вставляется вручную сразу после тега «more» на каждой странице и выравнивается справа.

WordPress Редактировать страницу

Способ размещения этого кода на странице выглядит следующим образом:

WordPress Редактировать страницу

Как видите, у меня есть стартовый тег «тип сценария», который я могу использовать в начале каждого объявления, и тег «скрипт src», который я могу использовать в конце.

Вот как это работает. Вы должны указать команде SQL «update», что вы хотите полностью стереть этот блок своей страницы. Вам нужно понять три основные функции MySQL — replace, substr и locate.

Сначала используйте LOCATE, чтобы сообщить команде местоположение начальной и конечной точек. В моем случае я использую строки в начале и конце раздела, который я хочу удалить. Начальное местоположение на странице начала:

LOCATE ('', post_content)

[/ NOEDIT]

Конечное местоположение сложнее. Locate дает вам начало строки, поэтому вам нужно добавить количество символов в самый конец строки, чтобы получить конечное местоположение.

LOCATE ('', post_content) + 93

[/ NOEDIT]

Затем вам нужно будет указать функции «ЗАМЕНА», какой именно текст вы хотите заменить. Вы делаете это, извлекая фактическую строку из содержимого публикации, используя функцию SUBSTR. Вы должны передать ему начальное местоположение (которое у вас сейчас есть) и длину. Длина, которую вам нужно рассчитать, вычитая начальную позицию из последней позиции (которая у вас также есть).

Вот как это выглядит с кодом выше, вставленным в функцию SUBSTR:

substr(post_content, locate('', post_content), ((locate('', post_content) + 93) - (locate('', post_content))))

Выглядит сумасшедшим, верно? Но если вы посмотрите внимательно, вы увидите, что здесь есть три встроенных раздела — содержание публикации, начальное местоположение и длина.

Теперь, когда у вас есть точный текст, который вы хотите удалить из своих постов, все, что вам нужно сделать, это сказать функции REPLACE заменить его пробелом. Просто скопируйте приведенный выше код в следующую команду:

UPDATE wp_posts SET post_content = replace(post_content, string_to_replace, replacement_string);

Как это:

UPDATE wp_posts SET post_content = REPLACE(post_content, substr(post_content, locate('', post_content), ((locate('', post_content) + 93) - (locate('', post_content)))), ' ');

При выполнении приведенного выше сценария, если весь синтаксис правильно выровнен, вы должны увидеть следующие успешные результаты в phpAdmin.

Как редактировать тысячи постов WordPress с помощью одной команды SQL.

Теперь, когда я перезагружаю сообщения в моем веб-браузере — вуаля! Объявление волшебным образом было удалено.

Как редактировать тысячи постов WordPress с помощью одной команды SQL.

Не поймите меня неправильно, это не сработало для всех объявлений, потому что у меня было несколько старых, которые имели немного различное форматирование в начале и в конце. Нравится эта страница.

Как редактировать тысячи сообщений WordPress с помощью одной команды SQL

Но с небольшими изменениями, просто изменив точные теги для начала / конца, я смог перезапустить SQL и стереть их.

как редактировать WordPress

Этот метод будет работать для удаления любого контента, который есть в вашем посте WordPress. В этом прелесть наличия сообщений в базе данных MySQL, вы можете просто запускать команды SQL для одновременной работы с тысячами сообщений, что экономит огромное количество ручной работы. Просто убедитесь, что резервное копирование базы данных, прежде чем начать!

Есть ли у вас другие аккуратные варианты использования этой команды SQL? Попробуйте его в своей собственной базе данных WordPress и посмотрите, насколько хорошо он работает для вас. Поделитесь своим опытом и отзывами в разделе комментариев ниже.

Изображение предоставлено: Shutterstock

Ссылка на основную публикацию
Adblock
detector