Intereting Posts
как скрыть подменю для неактивных страниц PHP – типы пользовательских сообщений типа Loop в вкладках jQuery после миграции новые загруженные изображения не будут отображаться Бесконечная проблема цикла с подключаемым модулем WordPress MU Domain Mapping Как изменить шаблон этой страницы, чтобы отобразить выдержки из подстраницы (а не выдержки из отрывков)? удалить автоматически созданные страницы из меню? Веб-сайт WordPress перенаправляется на старый домен, если я не конкретизирую / в конце Сессионные переменные, потерянные во время вызовов Ajax – WordPress – тема Sage Starter Настройка Multisite с субдоменами Какая разница, если я использую index.php как HTML-каркас в сравнении с написанием каждого основного файла шаблона в виде полного документа HTML? Возможность редактировать собственный пост, но не создавать новые get_terms name__like категорий категорий в соответствии с буквой Как разгрузить файлы CSS и JS из папки wp-content / themes? Локализация скриптов не работает Добавить кнопку в WordPress Image Details modal

Различные способы отображения заголовка

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

<h1> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> </h1> 

а также

 <?php the_title(sprintf( '<h1><a href="%s">', esc_url(get_permalink())), '</a></h1>'); ?> 

Это проблема производительности? или безопасности? или что?

Благодарю.

Редактировать:

Я знаю, что функция the_permalink() имеет встроенные функции get_permalink а get_permalink – нет. Так что, в моем случае, есть ли какая-то разница?

Solutions Collecting From Web of "Различные способы отображения заголовка"

Также может быть полезной вторая форма:

  • Мы также можем использовать третий параметр:

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

    для присвоения названия переменной.

    Вот пример:

     $title = the_title( '<h1 class="entry-title">', '</h1>', false ); 
  • Это также может помочь уменьшить использование разделителей <?php ?> .

    Вот пример из темы « Двадцать пятая»

      if ( is_single() ) : the_title( '<h1 class="entry-title">', '</h1>' ); else : the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); endif; 

    но есть, конечно, различные способы избавиться от таких частей if / else.

    Вот альтернативная форма для сравнения:

     <?php if( is_single() ) : ?> <h1 class="entry-title"><?php the_title(); ?></h1> <?php else : ?> <h2 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h2> <?php endif; ?> 

Начиная с первого набора кода, который вы указали:

 <h1> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> </h1> 

Проще говоря, он намного чище и проще в использовании. Как вы уже упоминали, the_permalink() уже покрывает функциональность esc_url() , поэтому зачем вам нужно писать больше кода, когда одна из функций позаботится об этом? Меньше в этом случае больше.

Существует несколько способов сделать большинство вещей в WordPress. Либо это, либо вообще нет способов.

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