Wordpress

Esc attr wordpress: esc_attr() | Function | WordPress Developer Resources

02.09.2023

Добавление описания для пунктов меню в WordPress

Главная › Новости

Опубликовано: 23.06.2023

Как сделать форму обратной связи для сайта на WordPress

В некоторых премиум шаблонах WordPress есть для навигационного меню одна интересная опция — под названием пункта меню располагается 2-3слова краткого описания (см. иллюстрацию слева). Недавно пришлось разбираться с данный вопросом и я нашел одну статью по теме, перевод которой вам и предлагаю. Публикация о том, как реализовать подобное улучшенное меню для  Wordpress.


Для вывода меню, созданного из админки WordPress, используется специальная функция wp_nav_menu . В итоге получаем код по типу этого:

< ul id = «menu-main» > < li >< a href = «#» > Home </ a></ li > < li >< a href = «#» > About </ a></ li > < li >< a href = «#» > Contact </ a></ li > < li >< a href = «#» > Blog </ a></ li > </ ul >

<ul> <li><a href=»#»>Home</a></li> <li><a href=»#»>About</a></li> <li><a href=»#»>Contact</a></li> <li><a href=»#»>Blog</a></li> </ul>


Как добавить в шапку сайта WordPress номер телефона или контакты

Однако для добавления описаний в пункты меню нам нужен несколько иной HTML код, как минимум вот такой:

< ul id = «menu-main» > < li >< a href = «#» >< strong > Home </ strong >< span > Starting the journey </ span ></ a></ li > < li >< a href = «#» >< strong > About </ strong >< span > What to expect </ span ></ a></ li > < li >< a href = «#» >< strong > Contact </ strong >< span > Get in touch !</ span ></ a></ li > < li >< a href = «#» >< strong > Blog </ strong >< span > Latest storys </ span ></ a></ li > </ ul >

<ul> <li><a href=»#»><strong>Home</strong><span>Starting the journey</span></a></li> <li><a href=»#»><strong>About</strong><span>What to expect</span></a></li> <li><a href=»#»><strong>Contact</strong><span>Get in touch!</span></a></li> <li><a href=»#»><strong>Blog</strong><span> Latest storys</span></a></li> </ul>

@wordpress/escape-html — npm

Утилита Escape HTML.

Установка

Установка модуля

 npm install @wordpress/escape-html 

Этот пакет предполагает, что ваш код будет работать в среде ES2015+ . Если вы используете среду с ограниченной поддержкой или отсутствием поддержки таких языковых функций и API, вам следует включить в свой код полифилл, поставляемый в @wordpress/babel-preset-default .

API

escapeAmpersand

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

Связанные

  • https://w3c.github.io/html/syntax.html#character-references
  • https://w3c.github.io/html/syntax.html#ambiguous-ampersand
  • https://w3c.
    github.io/html/syntax.html#named-character-references

Параметры

  • значение строка : Исходная строка.

Возврат

  • строка : экранированная строка.

escapeAttribute

Возвращает значение экранированного атрибута.

Родственные

  • https://w3c.github.io/html/syntax.html#elements-attributes «[…] текст не может содержать неоднозначный амперсанд […] не должен содержать любые буквальные символы U+0022 КАвычки («»)»

Обратите внимание, что мы также избегаем символа «больше чем», так как он используется wptexturize для разделить строки HTML. Это специальное исправление WordPress

Обратите внимание, что если разрешение для Trac # 45387 будет реализовано, оно больше не будет необходимо для использования __unstableEscapeGreaterThan .

См.: https://core.trac.wordpress.org/ticket/45387

Параметры

  • значение строка : Значение атрибута.

Возврат

  • строка : значение экранированного атрибута.

escapeEditableHTML

Возвращает экранированное значение редактируемого HTML-элемента. Это отличается от escapeHTML , потому что для редактируемого HTML необходимо экранировать ВСЕ амперсанды, чтобы содержимое отображалось правильно на странице.

Параметры

  • значение строка : Значение элемента.

Возвращает

  • строка : значение экранированного HTML-элемента.

escapeHTML

Возвращает значение экранированного HTML-элемента.

Родственные

  • https://w3c.github.io/html/syntax.html#writing-html-documents-elements «текст не должен содержать символ U+003C МЕНЬШЕ-ЧЕМ ЗНАК (<) или неоднозначный амперсанд."

Параметры

  • значение строка : Значение элемента.

Возврат

  • строка : значение экранированного HTML-элемента.

escapeLessThan

Возвращает строку с замененным знаком меньше.

Параметры

  • значение строка : Исходная строка.

Возврат

  • строка : экранированная строка.

escapeQuotationMark

Возвращает строку с замененными кавычками.

Параметры

  • значение строка : Исходная строка.

Возврат

  • строка : экранированная строка.

isValidAttributeName

Возвращает значение true, если данное имя атрибута является допустимым, или значение false в противном случае.

Параметры

  • name string : Имя атрибута для проверки.

Возвращает

  • логическое значение : Допустим ли атрибут.

Участие в этом пакете

Это отдельный пакет, являющийся частью проекта Gutenberg. Проект организован как монорепозиторий. Он состоит из нескольких автономных программных пакетов, каждый из которых предназначен для определенной цели. Пакеты в этом монорепозитории публикуются в npm и используются WordPress, а также другими программными проектами.

Чтобы узнать больше о вкладе в этот пакет или Gutenberg в целом, ознакомьтесь с основным руководством для участников проекта.

escape — Документация — Twig

Вы читаете документацию для Twig 3.x. Перейти к документации для Twig 1.х. 2.х.

Фильтр escape экранирует строку, используя стратегии, зависящие от контекст.

По умолчанию используется стратегия экранирования HTML:

Для удобства фильтр e определяется как псевдоним:

Код escape 9Фильтр 0015 также можно использовать в других контекстах, кроме HTML, благодаря необязательный аргумент, который определяет используемую стратегию экранирования:

А вот как экранировать переменные, включенные в код JavaScript:

Фильтр escape поддерживает следующие стратегии экранирования для HTML документы:

  • html
    : экранирует строку для контекста тела HTML .
  • js : экранирует строку для контекста JavaScript .
  • css : экранирует строку для контекста CSS . Экранирование CSS может быть применяется к любой строке, вставляемой в CSS, и экранирует все, кроме буквенно-цифровые.
  • url : экранирует строку для контекста URI или параметра . Это должно не использоваться для экранирования всего URI; вставляется только подкомпонент.
  • html_attr
    : экранирует строку для контекста атрибута HTML .

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

Примечание

Внутренне, escape использует родную функцию PHP htmlspecialchars для стратегии экранирования HTML.

Осторожность

При использовании автоматического экранирования Twig пытается не дважды экранировать переменную когда стратегия автоматического побега такая же, как и стратегия, применяемая аварийный фильтр; но это не работает при использовании переменной в качестве стратегия побега:

При использовании переменной в качестве стратегии экранирования следует отключить автоматическое экранирование:

Вы можете определить пользовательские экраны, вызвав метод setEscaper() в Экземпляр расширения escaper. Первый аргумент — это имя escaper (будет используется в вызове escape ), а второй должен быть действительным вызываемым PHP:

При вызове Twig вызываемый получает экземпляр среды Twig, строка для экранирования и кодировка.

Примечание

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

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

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