Не работает плагин Shortcoder в WordPress 4.4 — что делать?

Не работает плагин Shortcoder в Wordpress 4.4 - что делать?

Для создания произвольных шорткодов в WordPress я использую отличный плагин Shortcoder. Главными преимуществами этого плагина является возможность не только создавать свои шорткоды (в т.ч. и с JavaScript!) и управлять ими из админки WordPress, но также передавать параметры в шорткод и указывать их через редактор WordPress. В некоторых случаях, эта опция просто незаменима.

Более подробно возможности этого плагина я распишу в следующей статье, а сейчас расскажу как исправить внезапно возникшую проблему в WordPress 4.4.

По-умолчанию, вставляемый в записи шорткод, созданный с помощью плагина Shortcoder выглядит следующим образом - [sc:shortcode_name].

Однако, с выходом WordPress 4.4, эта комбинация перестанет работать. Причиной этому является отказ в новой версии WP поддерживать двоеточия и прочие специальные символы в именах шорткодов. Не знаю с какой целью это было сделано, но факт остается фактом. Естественно, используемое двоеточие в имени шорткода сразу же повлекло за собой полное отключение функционала плагина.

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

По результатам поисков, решений нашлось два:

1. Вставить в файл functions.php следующий код

function sc_replacecolon( $content ){ return str_replace( '[sc:', '[sc name=', $content ); }
add_filter( 'the_content', 'sc_replacecolon', 5 );

2. Провести замену в БД сайта

Для этого нам понадобится PHPmyAdmin, во вкладке SQL которого необходимо сделать следующий запрос на замену:

UPDATE wp_posts SET post_content = replace(post_content, "[sc:", "[sc name=");

Если помимо тела записи, вы используете шорткоды и в врезках (как это сделано у меня), необходимо сделать аналогичный запрос, но уже для другой таблицы:

UPDATE wp_posts SET post_excerpt = replace(post_excerpt, "[sc:", "[sc name=");

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

UPD: в версии 3.4.1, автор устранил данную проблему. Однако изменить шорткоды вам все равно придется.

50 комментариев к “Не работает плагин Shortcoder в WordPress 4.4 — что делать?”

  1. Не очень понимаю, зачем нужен плагин для шорткодов. Ведь шорткоды делаются так просто. В файле functions.php

    function foobar_func( $atts ){ return "foo and bar"; } add_shortcode( 'foobar', 'foobar_func' );

    В функции уже можно воротить, что угодно. Вообще wordpress нравится своей простотой. Можно сделать вообще все, что угодно.

    ОтветитьОтветить
  2. @Сергей: да, можно создавать шорткоды и через functions.php. Но все зависит от количества этих самых шорткодов и удобства их использования. Грубо говоря, можно размечать текст и с помощью html-тегов, а можно с помощью редактора. Вот тоже самое и с шорткодами.

    ОтветитьОтветить
  3. @Yaroslav.CH:

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

    ОтветитьОтветить
  4. @Сергей: учитывая, что на WP действительно можно создать практически все, что угодно — вплоть до интернет-магазина, шорткоды тоже могут применяться не только для функционала, но также и для организации контента. К примеру, одного и того же текста/изображения, повторяющегося во многих местах. Вместо того, чтобы вручную его корректировать каждый раз, проще создать шорткод и вносить изменения в одной точке. По-факту, из шорткодов получается что-то вроде шаблона темы, но для контента.

    ОтветитьОтветить
  5. 2 недели уже изучаю WordPress... Сначала очень тяжело было, т.к. это первый сайт. Но сейчас уже полегче. Правда каждый день нахожу очень много статей по настройке WordPress и понимаю, что работы еще очень много (( Первую неделю постоянно правил html-код в своей теме, потом все мои настройки сбивались после обновления тем)) Поэтому пришел к такому выводу, что легче все свои настройки, кнопки, счетчики кидать в виджеты, чтобы каждый раз не публиковать всё это заново после смены темы) Так что посмотрим что получится)

    ОтветитьОтветить
  6. помогите-не отображается редактор этого плагина. все перепробовал-бесполезно. буду очень признателен. На дает редактировать не один шорткод.

    ОтветитьОтветить
  7. @sdevil: в каком смысле — «не отображается редактор»? Для создания шорткодов, нужно зайти в Настройки -> Shortcoder и там создать нужные шорткоды.

    ОтветитьОтветить
  8. @Yaroslav.CH: При выборе любого шорткода нет самого окна ввода . Т. е www.floomby.ru/s1/SgNJ6q вот как на скриншоте. До того как все пропало там стоял код смартреспондера. теперь не могу не создать не один новый не отредактировать старый

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

    ОтветитьОтветить
  10. @sdevil: то, что обведено на скриншоте как «пусто» и есть поле редактора. То есть код добавляется именно в это поле. А под строкой «Created Shortcodes» должен быть список шорткодов и при клике на название в окне редактора должно открываться содержимое шорткода.

    Но странно, что панели редактора я не вижу... а при редактировании обычных записей в WP, эта панель есть?

    ОтветитьОтветить
  11. Спасибо отличный плагин.не знал про него

    ОтветитьОтветить
  12. @Yaroslav.CH: да конечно. она пропала только из этого плагина. пару раз появлалсь ненадолго а потом совсем пропала. я и переустанавливал плагин и заного скачивал- все бестолку

    ОтветитьОтветить
  13. @sdevil:

    пару раз появлалсь ненадолго

    Значит надо анализировать те действия, которые Вы делали за последнее время — скрипты, установка/обновление плагинов, изменения в functions.php и т.д. Второй вариант — отключать все плагины и включать по-штучно, проверяя появилась панель или нет. Не скажу точно, но есть подозрение, что панель блокируется скриптом какого-то другого плагина, подгружающегося вместе с админкой.

    ОтветитьОтветить
  14. Очень хороший плагин, спасибо автору за статью

    ОтветитьОтветить
  15. Просто и быстро! Спасибо за помощь, плагин работает отлично!

    ОтветитьОтветить
  16. Никогда не использовал шоткоды на свои блогах, однако возможно я начну это делать. На тестовом сайте у себя тестирую данный плагин о котором говорится в статье. Очень удобно. За статью как все поменять двойное спасибо)

    ОтветитьОтветить
  17. А зачем заморачиваться по поводу каких-то плагинов с шорткодами? Сейчас в свободном доступе можно найти крутые шаблоны для ВП, где фукнция шорткода уже вшита в настройки темы. Это касается платных буржуйских тем, которые наши профессиональные пираты умудряются даже оттуда слямзить)

    ОтветитьОтветить
  18. Извините, что может немного не по теме. Подскажите пожалуйста хороший плагин для комментариев на WordPress? Я замучился искать нормальные варианты=(

    ОтветитьОтветить
  19. @Геннадий: пользоваться дочерней темой не пробовали. Очень полезно при обновлении основной темы. Можно создать при помощи плагина (в свою очередь через functions.php), который после этого можно удалить, дабы не создавать нагрузки.

    ОтветитьОтветить
  20. Спасибо за статью! Помогло! :)

    ОтветитьОтветить
  21. @ecoinvestor: Привет, если ты говоришь о СПАМЕ, тогда тебе поможет плагин Akismet. Автор спасибо за статью и дуфоллоу)

    ОтветитьОтветить
  22. Надо будет попробовать. Есть пара сайтов на вордпрессе и тема весьма актуальна.

    ОтветитьОтветить
  23. Шорткоды полезная штука если постоянно дорабатывать функционал шаблонов, но вот ручками всегда лучше чем использовать сторонние плагины. Нужно будет потестить, и проверить работоспособность, спасибо за предварительные подсказки.

    ОтветитьОтветить
  24. Спасибо за помощь! Вы очень мне помогли!

    ОтветитьОтветить
  25. О, неплохо, надо будет поставить) Сперва нада WP обновить до этой версии)

    ОтветитьОтветить
  26. Я новичок в платформе WordPress. Обычно работал на Dle...и но с вашей помощью, и вашими статьями...wordpress становится все понятнее и удобнее! Как оказывается в нем есть очень много различных функций которых я даже и не знал. Спасибо вам что подробно описываете что очень помогает новичкам

    ОтветитьОтветить
  27. Всегда вставлял шорткоды с помощью плагинов. Этот плагин понравился больше всего! Очень удобно использовать, спасибо! Шорткоды это всегда быстрота и удобство, я считаю. Особенно в WordPress.

    ОтветитьОтветить
  28. Спасибо большое, блин я долго не мог понять что вообще требовалось, а тут наткнулся на эту статью и все проблема решена, спасибо еще раз и удачи как вам, так и посетителям

    ОтветитьОтветить
  29. Я знаю что делать — переходить на джумлу))

    А если серьезно, спасибо автору, решил проблему на раз-два и теперь на моих двух блогах все ОК!

    ОтветитьОтветить
  30. Применил у себя, благодарю за статью!

    ОтветитьОтветить
  31. Согласна, что шорткоды и так можно написать в файле functions.php, но с плагином все же это будет удобнее и систематичнее.

    ОтветитьОтветить
  32. Плагин очень удобен для новичков жаль что приходится так гемороется, лично мне очень страшно лезть в базу данных а решение через functions.php мне не помогло

    ОтветитьОтветить
  33. Спасибо за инструкцию!

    У Вас самая толковая статья на эту тему и как раз вовремя!

    ОтветитьОтветить
  34. @Yaroslav.CH: Да что там эти интернет-магазины, на wordpresse уже игры делают буржуи))

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

    ОтветитьОтветить
  36. Ломанулся плагин и статья помогла. Без шорт кодов как без рук. Особенно если каждая статья требует индивидуального оформления. плюсую

    ОтветитьОтветить
  37. Добрый день!

    В своё время попробовал оба варианта. Остановился на решении через functions.php, которое не требует вмешательства во внутреннюю БД. Спасибо за полезный материал!

    ОтветитьОтветить
  38. Я тоже выбрал вариант с functions.php как по мне, намного проще. Да и в результате уже убедился, действительно работает

    ОтветитьОтветить
  39. Спасибо огромное, у меня как раз этот плагин перестал работать после обновления вордпресса. Тем более что это самый удобный плагин для работы с шорткодами.

    ОтветитьОтветить
  40. У меня сам плагин работает, но перестал добавлять шоркоды через редактор.

    Нажимаю на кнопку, окошко с шоркодами открывается а выбрать и вставить не дает.

    Пробовал отключать другие планы, думал конфликтует с кем то но нет. Не хочет и все.

    Кто либо встречался с такой проблемой?

    ОтветитьОтветить
  41. а если у меня вообще не работают шорткоды ни в function.php ни в использованиё плагинов (!

    ОтветитьОтветить
  42. @Ivan: включите дефолтную тему и перепроверьте. Ну и, понятное дело, ВП должен быть актуальной версии.

    ОтветитьОтветить
  43. @Федор:

    Если кому интересно то проблема была из -зав перехода на протокол https

    Пришлось полезть в код плагина и под корректировать. Все заработало.

    ОтветитьОтветить
  44. @Федор: хм, странно. Переходил на десятке блогов с этим плагином — ни разу не понадобилось что-то менять в его коде. А что именно меняли? Какие строки?

    ОтветитьОтветить
  45. Спасибо заразъяснения. Сейчас у меня уже все гуд. Но был случай, когда плагин не работал. Чуток посидел, покряхтел и все настроил. Хорошо, когда кто-то умеет буквально на пальцах объяснить.

    ОтветитьОтветить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *