Не работает плагин 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 нравится своей простотой. Можно сделать вообще все, что угодно.

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

    ReplyReply
  3. @Yaroslav.CH:

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

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

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

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

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

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

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

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

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

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

    ReplyReply
  13. @sdevil:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ReplyReply
  29. Я знаю что делать — переходить на джумлу))
    А если серьезно, спасибо автору, решил проблему на раз-два и теперь на моих двух блогах все ОК!

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

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

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

    ReplyReply
  33. Спасибо за инструкцию!
    У Вас самая толковая статья на эту тему и как раз вовремя!

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

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

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

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

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

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

    ReplyReply
  40. У меня сам плагин работает, но перестал добавлять шоркоды через редактор.
    Нажимаю на кнопку, окошко с шоркодами открывается а выбрать и вставить не дает.
    Пробовал отключать другие планы, думал конфликтует с кем то но нет. Не хочет и все.
    Кто либо встречался с такой проблемой?

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

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

    ReplyReply
  43. @Федор:
    Если кому интересно то проблема была из -зав перехода на протокол https
    Пришлось полезть в код плагина и под корректировать. Все заработало.

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

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

    ReplyReply

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

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