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

Шаблоны и условная логика с ООП в WordPress

110

Шаблоны становятся все более распространенными в WordPress, и я считаю, что это хорошо.

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

Хотя я думаю, что шаблоны — это хорошо, я не думаю, что это всегда необходимо. Однако это содержание для другого поста.

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

Шаблоны и условная логика с ООП

Для этого предположим следующее:

  1. У нас есть один плагин, который зависит от другого плагина для функции.
  2. Второй плагин является необязательным.
  3. Если его нет, мы покажем уведомление. Если он присутствует, то мы будем отображать партиал.

Достаточно прямолинейно, верно?

Единственное, что следует отметить, это то, что вся эта логика будет храниться в основном плагине (то есть в том, который будет проверять наличие другого плагина).

1 Условная логика шаблона

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

И тогда партиал может выглядеть примерно так (это зависит от вашей реализации):

Из-за того, как шаблоны включены в WordPress, функция будет жить внутри класса, и класс будет проверять наличие плагина.

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

2 Серверный код плагина

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

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

Обратите внимание, что при использовании этой функции предполагается, что вы знаете имя используемого плагина. Если нет, есть и другие способы, но это выходит за рамки этого поста.

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

А так как код шаблона вызывает эту функцию (которую вы видите выше), он определит, нужно ли показывать партиал или нет.

Достаточно легко

Для некоторых это действительно простые вещи; для других это совершенно другой подход, поскольку он имеет дело с большим разделением интересов.

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

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

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