nickvanderbilt
  • 0
Новичок

Код виджета не работает в блогах, размещенных на WordPress.com

  • 0

Я разработал виджет JavaScript, который отлично работает, когда я встраиваю его в любую из своих html-страниц. Код примерно такой

<script type="text/javascript" charset="utf-8">
  var asset_host = 'http://domain.com';
  var url = unescape("%3Cscript src='" + asset_host + "/javascripts/widget.js' type='text/javascript'%3E%3C/script%3E");
  document.write(url);
</script>

<script type="text/javascript" charset="utf-8">
  var widget_options = {};
  widget_options.iframe_base_url =  asset_host + '/widget/questions/10';
  var feedback_widget = new ShowWidget.widget(widget_options);
</script>

Однако, когда я вставляю этот код в WordPress, тег «стиль» удаляется (вероятно, по соображениям безопасности).

Как мне создать код виджета для wordpress, чтобы пользователи испытывали наименьшее количество неудобств.

Share
  1. @ user880 Я отредактировал заголовок, потому что, как мы обсуждали, эта проблема применима только к сайтам, размещенным на WordPress.com.

    • 0
    • Мой Javascript выплевывает содержимое iframe. Этот iframe сам по себе содержит полную маленькую страницу, которая работает на основе jQuery и т. д. Как я уже упоминал, этот код работает на простых ванильных html-страницах. Я знаю ruby/rails, но не знаю ни wordpress, ни PHP. Можете ли вы рассказать, как обернуть его в functions.php?

      • 0
    • functions.php — это файл в темах WordPress, используемый для настройки кода и фрагментов кода. Вы впервые попробовали текстовый виджет WP со своим кодом? Создание из этого целого плагина может оказаться долгой и излишней задачей, если вы не работаете с WP/PHP.

      • 0
  2. WordPress.com не позволяет вам публиковать javascript.

    От службы поддержки WordPress.com:

    Пользователям не разрешено публиковать JavaScript в блогах WordPress.com. JavaScript может использоваться в злонамеренных целях. Например, в прошлом JavaScript отключал такие сайты, как MySpace.com и LiveJournal. Безопасность всех блогов является главным приоритетом, и до тех пор, пока мы не сможем гарантировать, что языки сценариев не будут вредными, они не будут разрешены.

    JavaScript от надежных партнеров, таких как YouTube и Google Video, преобразуется в шорткод WordPress при сохранении публикации.

    • 0
  3. Я предполагаю, что вы говорите о виджетах в общем смысле, а не о виджетах WordPress.

    В какой форме вы хотели бы предложить свой виджет пользователям WordPress?

    • прямой фрагмент JS может работать, если он используется в текстовом виджете WordPress или содержимом поста/страницы, но также может быть сломан — большая часть ввода/вывода в WP тщательно очищается в целях безопасности;
    • вы можете обернуть его в функцию PHP как фрагмент для functions.php ;
    • вы можете упаковать его как полный плагин и предложить использование в качестве вызова функции или шорткода.

    Также wp_enqueue_script() является обязательным чтением для работы с JS в WP.

    Все зависит от того, как вы хотите справиться с этим, ваших навыков PHP и навыков ваших целевых пользователей WP (чем менее они сообразительны, тем больше вещей вам придется позаботиться).

    • 0

Оставить ответ

You must login to add an answer.