Поддержка Проблемы и решения Типовые строчные фрагменты HTML: как вводить изменяемые

  • Решено Legendre

    (@legendre)


    Не могу понять, как реализована в WordPress элементарнейшая функция — подстановка в код текстового набора страницы типовых фрагментов HTML.
    Всё замечательно, пока речь идёт об элементах типового HTML-документа, по частям собираемого посредством php: колонтитулах, заголовках и прочих блоках. Но что делать, когда в простой произвольный набор, то есть в собственно основной текст требуется вставить ссылку на некую константу с тем, чтобы в дальнейшем эту константу можно было, не отслеживая, обновить независимо от того, где, когда и сколько раз такая ссылка была использована? Скажем, в разное время и на разных страницах могут быть использованы адреса, время работы, ассортиментный перечень, тариф, адреса, фамилии и телефоны контактных лиц, ссылки на сайты партнёров… Всё это со временем может меняться. Не вести же перечень всего этого, чтобы потом менять всё вручную!
    В CMS MODx такая функция издревле считается сама собой разумеющейся, и подробно описана. При переносе сайта на WordPress вдруг обнаружилось, что ничего подобного отыскать не получается. Возможно, это опять связано со спецификой WordPress, исторически ориентированной в первую очередь на сетевые дневники, перед авторами которых такие вопросы обычно не встают в принципе. С другой стороны, на этой системе построено множество нормальных коммерческих сайтов, то есть решение наверняка существует. Может, такие строчные, не блочные фрагменты HTML-кода здесь зовутся иначе, а не chunks?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Есть много легковесных плагинов для использования php в контенте. Если я правильно понял что вы имеете ввиду.

    Аналогом ModX chunks в WP являются shortcodes.
    http://codex.wordpress.org/Shortcode
    http://codex.wordpress.org/Shortcode_API
    http://wp.smashingmagazine.com/2009/02/02/mastering-wordpress-shortcodes/
    Пример: добавив в functions.php темы

    function hello() {
        return 'Hello, World!';
    }
    add_shortcode('hw', 'hello');

    Можно использовать [hw] для вывода Hello, World!
    Для работы с шорткодами есть много плагинов (вставка текста, html, js,php, функций WP в статью).

    Попробуйте плагин Shortcodes UI, который предоставляет развернутый интерфейс для создания шорткодов и не требует навыков программирования. Может быть, даже настолько развернутый, что для Вашей задачи все функции не нужны. Принцип использования понятен из видео по ссылке.
    Наверняка есть подобные плагины, но, например, Shortcode Generator у меня не заработал.
    По умолчанию шорткоды работают только в контенте статей, но можно заставить их работать в цитатах, в текстовых виджетах и в php файлах ( do_shortcode ).

    Большое спасибо, vjpo! Вот чего мне не хватало: ключевого слова shortcodes. Теперь разберусь.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Типовые строчные фрагменты HTML: как вводить изменяемые» закрыта для новых ответов.