Как вставить HTML-код в пост без изменений

Попробуйте вставить HTML-код в пост? В лучшем случае WordPress преобразует его, а в худшем — выполнит. И тут не помогжет тег [

 inline="yes"]code

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

Суть хитрости в том, что код в публикации будет заменяться специальными символами HTML. Если код написан не прямым текстом, а специальными символами, то WordPress этого не понимает, выводя текст как есть. Ну а чтобы текст не терял своей разметки (пробелы, переносы), то лучше преобразовывать его не внутри тегов [

 inline="yes"]code

, а внутри тегов [

 inline="yes"]pre

. Для этого нужно вставить в файл functions.php такой код:

//replaces pre content with html entities 
function pre_entities($matches) { 
return str_replace($matches[1],htmlentities($matches[1]),$matches[0]); 
} 
//to html entities; assume content is in the "content" variable 
$content = preg_replace_callback('/<code>(.*?)

/imsu',pre_entities, $content);
Способ старый, как мир, однако сразу предупреждаю, что с некоторыми плагинами он бывает конфликтует.

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

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

  1. Идущий

    Как вариант можно скриншот вставлять, если с плагинами конфликт. Правда его нельзя тогда скопипастить. :( В общем , как я и говорю всегда — разработчикам ВП есть на чем работать в движке. А они выпускают всякие «красотульки» как в 3.0. :(

    Ответить
  2. Владимир

    Я вами автор удивляюсь.
    «О блоге: Это блог о WordPress для новичков»
    Я сомневаюсь, что новичок поймет куда этот код вставлять, а тем более какой functions.php использовать. Мне вот например непонятно.
    Действовать методом тыка желания тоже нету.

    Ответить
    1. tiaurus

      Я вами, Владимир, удивляюсь. Я даже и не знаю, что это. Может быть ленность ума? Если у вас нулевые знания, то советую прочитать этот блог с самого начала, с первого поста, и воздержаться от необоснованной критики. К тому же существует еще и элементарный поиск.
      Файл functions.php находится в папке с темой вашего блога. Тема вашего блога находится в /wp-content/themes/

      Ответить
      1. Идущий

        Фу, какой ты. Что за отношение? давай не ленись — добавь скринов в описание и фотографий. Пошагово: как включить комп, запустить ИЕ, залогиниться в блог, найти в админке разделы… А еще лучше скринкаст. :D

        Ответить
        1. tiaurus

          Спасибо за комментарий. Он натолкнул меня на мысль сделать серию скринкастов об элементарных вещах в WordPress: как установить плагин, как поменять тему, где найти functions.php, как изменить wp-config.php, как пдключаться по ftp, как править файлы в текстовом редакторе, и тп.

          Ответить
          1. Идущий

            :) Не за что.

            Ответить
  3. Владимир

    Идущий :
    Фу, какой ты. Что за отношение? давай не ленись – добавь скринов в описание и фотографий. Пошагово: как включить комп, запустить ИЕ, залогиниться в блог, найти в админке разделы… А еще лучше скринкаст.

    а я вам. вы так и не ответили куда сувать код. что это тема я и так понял.

    Ответить
    1. tiaurus

      Цитирую из поста:

      Для этого нужно вставить в файл functions.php такой код

      Ответить
      1. Идущий

        Ну вы и непонятливый, господин администратор сайта. :D Нужно подробно указывать после какой именно строки :D Файл-то длинный.

        Ответить
    2. Идущий

      А я вам должен был это ответить? О_о

      Ответить