SQL Запрос справки для преобразования старых тегов Amazon - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть сайт Wordpress, который использовал плагин Amazon, который больше не работает. Теперь у меня есть сотни постов с тегами amazon, которые нужно конвертировать в ссылки! Может кто-нибудь помочь мне с запросом mysql для запуска в PhpMyAdmin, который изменит все теги «[amazon_link id =», например:

[amazon_link id="B0009X29WK" target="_blank" container="" container_class="" ]kitty litter[/amazon_link] 

на этот

<a href="https://rads.stackoverflow.com/amzn/click/com/B0009X29WK" rel="nofollow noreferrer" target="_blank">kitty litter</a> 

содержимое записи хранится в таблице с именем wp_posts в столбце post_content.

Я написал это SQL, которое заменит первый бит тега amazon на первую часть ссылки href, но не знаете, как добавить "/? tag = pryspa-20" target = "_ blank"> "после и удалить" target = "_ blank" container = "" container_class = ""] "

UPDATE wp_posts
SET post_content = REPLACE(post_content, '[amazon_linkid=', <a href=“https://www.amazon.com/dp/‘);

так что в основном мне нужно сделать это ...

replace [amazon_link id = "B0009X29WK" *]

(где * может быть любая вещь и любое количество символов)

с этим <a href="https://rads.stackoverflow.com/amzn/click/com/B0009X29WK" rel="nofollow noreferrer" target="_blank">

вот некоторые SQL, которые возвращают только 10-значный идентификатор амазонки, но я не знаю, как вставить это в строку href, а затем также заменить все символы после него до первой квадратной скобки с "target="_blank">

select 
  substr(post_content, instr(post_content, '[amazon_link id="')+17, 10) ID 
  from wp_posts
where post_content like '%[amazon_link id=%' AND post_status = 'publish';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...