@Mixa

Как перезаписать старые шорткоды в wordpress?

В наследие от старого плагина во многих постах остались шорткоды типа

[download#395#nohits]

Хочу сделать их рабочими, но без плагина.

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

"[download"

и заканчивается

"]"

брать праметр между двумя # (все остальное мне не нужно)

и перезаписывать весь шорткод на нужный вывод. Думаю, я могу и сам что-нибудь сварганить но, боюсь, мое решение будет на пару страниц кода. Уверен, тут есть краткое и элегантное решение.
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
rpsv
@rpsv
делай либо хорошо, либо никак
1. В базе пробежаться по всем постам "wp_posts"
2. Регуляркой в контенте страницы найти нужные строки.

Регулярное выражение такое:
/\[download(.*?)\]/gs
Ну а из базы выгрузить записи можно стандартной wp_posts.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ommunist
Делаю и поддерживаю мультиязычные сайты
Если речь о конкретно этом шорткоде, переопределите его в functions.php
A лишние атрибуты в таблице перепишите вот как советуют уже UPDATE wp_posts SET post_content = REPLACE(post_content, ‘[old_shortcode]’, ‘[new_shortcode]’);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 23:40
10000 руб./за проект
24 апр. 2024, в 23:13
130000 руб./за проект