✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Эффективная передача переменных в шаблон WordPress

128

Одной из проблем, с которой сталкиваются разработчики тем или плагинов get_template_part, является невозможность передачи переменных в загруженный шаблон WordPress. Однако существует альтернатива с использованием locate_template.

Обзор

В этом примере мы собираемся отобразить три записи Easy Digital Download. Я использую EDD уже некоторое время, и хотя у него много функций, он все еще удивительно легкий.

Мы будем извлекать записи и сохранять их в переменной $edd_download. Затем мы загрузим шаблон WordPress, передав переменную. На самом деле передать переменную — значит сказать слишком много: мы просто загрузим шаблон таким образом, чтобы $edd_downloadпеременная имела правильную область действия для использования в загруженном шаблоне.

Загрузка шаблона WordPress

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

Код шаблона

Теперь нам нужен файл шаблона WordPress. Если вы заметили вызов выше, locate_templateон ожидает найти файл download-home.phpв каталоге partsвнутри папки темы.

Мы всегда должны помнить о вызове wp_reset_postdata()после цикла foreach, если мы вызвали setup_postdata().

Заключительные слова

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

Источник записи: startfunction.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее