Intereting Posts
Пользовательские значения полей, повторяющиеся Как я могу вызвать функцию из одного плагина внутри другого плагина? Как удалить новое сообщение статистики? get_term_link () возвращает неверный URL-адрес Как Mysql выбрать список сообщений с meta_values ​​и всех соответствующих категорий? Как проверить, находится ли пользователь в определенной роли? Как отредактировать этот код, чтобы получить категории на странице достижения? Показать сообщения за день Нужно добавить класс к первому элементу в цикле foreach Правило перезаписи с параметром Ошибка нестатического метода при попытке использовать класс в виджетах Как структурировать сайт с страницами вариантов продукта? Настройка Avada & WooCommerce – Замена product_title в woo-config.php Свойство класса, похоже, теряет объем, прикрепленный к действию save_post? URL-адрес перезаписи перед вызовом template_redirect

Лучшая практика для PHP

При создании шаблона, такого как single.php, и у вас есть php, завернутый в html, лучше ли:

  1. Начать + остановить PHP? например

    <h1 class="post-tilte"><?php the_title(); ?></h1> <p class="post-content"><?php the_content();?></p> 

Или

  1. Эхо HTML и Escape PHP? Например –

     <?php echo '<h1 class="post-title">' . get_the_title() . '</h1> <p class="post-content"' . get_the_content() . '</p> 

У меня нет выбора на выбор, и я сам делаю то и другое, просто любопытно услышать некоторые мысли

Это вопрос только релевантно, потому что WordPress использует сочетание с языком кодирования и языком компоновки. Если вы будете использовать язык шаблонов, синтаксис, чем этот вопрос не имеет значения. Но на ваш вопрос. Если вы используете свой пример источника для темы, гораздо более язык макета, такой как html, то я предпочитаю первый вариант – он гораздо читабельнее для дизайнера и пользователей, там нужно прочитать разметку. Легче создать обзор о разметке, иметь открытые и закрывающие теги и т. Д.

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

Также как дополнительная информация. WordPress имеет справочники для PHP и HTML о наилучшей практике в отношении стандартов кодирования , а также для CSS, JavaScript и доступности. Вы могли бы найти их полезными для того, чтобы глубже проникнуть в этот вопрос.

Как объяснялось в вышеприведенном ответе, первый метод является дружественным дизайнеру, а второй метод может быть подходящим в случае плагинов и сложных php-кодов, где количество тегов html мало.

Но большинство тегов шаблонов WordPress имеют параметры before и after и более целесообразно использовать ваши html-коды внутри вызова функции.

например, в случае the_title имеет три параметра

 the_title( $before, $after, $echo ); 

вы можете передать свой html до и после параметров, как показано ниже

 the_title( '<h2 class="title">', '</h2>', true ); 

преимущества этого метода

  • Дизайнерский софт
  • не будет печатать html-теги, если заголовок пуст
  • может использоваться в сложных php-кодах, а также в простых файлах шаблонов

Первый способ предпочтительнее, поскольку:

  • Он четко отделяет фиксированный макет HTML от динамического содержимого.
  • Его легче читать.
  • Это лучше поддерживается подсветкой синтаксиса в большинстве редакторов, потому что атрибуты html в строках обычно не распознаются.
  • Это не позволяет вам слишком легко смешивать HTML и PHP.

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

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

Вы пример кода маргинальный, потому что он показывает только две строки кода, но я считаю, что общий ответ довольно ситуативный. Если вы используете строку PHP в блоке HTML, используйте первый метод. Если вы используете HTML-строку внутри блока PHP, переходите ко второму.