Как вставить скрипт в пост?

👍 Научим создавать сайты на WordPress бесплатно за 19 уроков. Подробнее →

Пытаюсь воткнуть в пост конструкцию из скрипта и таблицы, но wordpress режет какую-то ее часть и не хочет выполнять. Простая htmlка выполняется спокойно, но в вордпрессе ни в какую, я даже отдельную page.php под это создал. Что делаю не так?

Смысл скрипта прост — это галерея: при нажатии на превьюшку внизу, вверху должна смениться картинка и подпись, но ничего не меняется. Код привожу урезанный, без лишних тегов.

Создай свой первый сайт на WordPress

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

  1. Alexx автор
    <script language="javascript">  
    function show(path,text)  
    {  
        document.getElementById('pic').src = path;
        document.getElementById('desc').innerHTML = text;
    }
    </script>
    
    <script language="JavaScript">show('images/gallery/foto/dec29.jpg','1111');</script>
    
    <td align="center" height="49" width="49"><a href="#l" onclick="show('images/gallery/foto/dec1.jpg','1111'); return false;" rel="nofollow"></a></td>
              <td align="center" height="49" width="49"><a href="#l" onclick="show('images/gallery/foto/dec2.jpg','2222'); return false;" rel="nofollow"></a></td>
    
    Ответить
  2. Alexx автор

    Попробовал вставить в пост фрейм работающей ХТМЛки — тоже перестает работать, думаю вордпресс режет onclick

    Ответить
  3. Alexx автор

    Продолжаю эксперименты. Выяснил, что на все это дело ругается строчка wp_head(); в файле header.php (стандартный шаблон twentyten). Если ее удалить, то все работает.

    Но над этой строкой стоит комент, что удалять ее нельзя. Что сделать, чтоб она не мешала моему скрипту?
    /* Always have wp_head() just before the closing
    * tag of your theme, or you will break many plugins, which
    * generally use this hook to add elements to such
    * as styles, scripts, and meta tags.
    */

    Ответить
  4. Наверное вам будут полезны следующие публикации:

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

    Ответить
    1. Alexx автор

      Спасибо за вторую ссылку, первую пробовал — не выполняется код.

      Ответить
    2. Alexx автор

      Неа, конфликт с wp_head(); так и остается =\

      Ответить
  5. Alexx автор

    Конфликт решен. Тема twentyten, как мы знаем, имеет в своей шапке код, который при каждом обновлении страницы меняет там картинку.
    Мой скрипт должен был менять картинку в посте без обновления страницы.
    Получилось, что первый код не давал работать второму, помогло удаление блока со стандартными картинками twentyten.

    Ответить
    1. Это работает с применением способов вставки исполняемого кода в пост или без?

      Ответить
      1. Alexx автор

        Оба варианта. Работает как со вставкой в PHP-код страницы, так и через редактор TinyMCE в сам пост.
        Скрипт простой, поэтому специальные плагины для обработки кода не понадобились.

        Ответить