Intereting Posts
Пользователь meta для публикации Как объединить meta_query и post__in в WP_Query the_widget () внутри functions.php NGinx + WordPress Subdomain Multi с ядром в подкаталоге Стандартные пользовательские поля в пользовательском интерфейсе администратора Обработка загрузки файлов переднего плана с учетом безопасности и простоты использования Вставить html после определенного количества сообщений? Запрос Mysql для удаления дубликатов сообщений WordPress? Каков шаблон URL для эскизов изображений + размеров? Контактная форма WordPress 7, чтобы отобразить раскрывающееся меню формы как Как мне получить next_posts_link для работы с частными сообщениями? Как узнать, какой файл или функция ajax вызывается для действия Страница таксономии приводит к 404 страницам в разбивке на страницы Что это такое и откуда он загружается? Как установить задание cron в wordpress для изменения статуса пользовательского сообщения

Отступы (tabbing) WP_head

В настоящий момент все содержимое, которое входит в wp_head, остается полностью оправданным в представлении кода.

В то время как весь мой другой код, который находится вокруг wp_head, имеет отступы (с вкладками) два раза. Можно ли добавить отступ / вкладки ко всей информации wp_head?

благодаря

Solutions Collecting From Web of "Отступы (tabbing) WP_head"

Технически возможно, но, вероятно, не стоит усилий (и накладных расходов). Если вы проверите источник с помощью чего-то вроде инструментов разработчика в Chrome, ваш HTML будет автоматически отступать. Фактически, некоторые кеширующие плагины (например, W3 Total Cache) даже удаляют все пробелы, чтобы улучшить время загрузки страницы.

Тем не менее, если вы хотите, чтобы ваше содержимое wp_head отступом, вам нужно будет сделать следующее:

  1. Добавьте функцию get_header которая выполняет последний. Эта функция получает все функции, привязанные к wp_head (используя $wp_filter['wp_head'] ), удаляет их и привязывает их к собственному пользовательскому действию (например, my_wp_head ).
  2. Например, пользовательская функция ( my_wp_head() for example ) должна быть присоединена к wp_head
  3. В функции my_wp_head() вы хотели бы
    1. Создайте массив шаблонов regex match / replace ( $patterns = array("pattern"=>"replace pattern"); ). Этот шаблон должен обрезать пробелы и снова добавлять вкладки в начало каждой строки.
    2. Вызов ob_start() для вывода вывода
    3. Обработайте предыдущие функции wp_head , вызвав do_action('my_wp_head')
    4. Вывод процесса с вызовом echo preg_replace( array_keys($patterns), array_values($patterns), ob_get_clean() );

Лучше всего избегать отступов, которые уже отступы, которые, по-видимому, кажутся

 function indented_wp_head(){ ob_start(); wp_head(); $header = ob_get_contents(); ob_end_clean(); echo preg_replace("/\n</", "\n\t<", substr($header, 0, -1)); echo "\n"; } 

Вы можете решить эту проблему, создав пользовательскую функцию внутри функции functions.php:

 function indented_wp_head(){ ob_start(); wp_head(); $header = ob_get_contents(); ob_end_clean(); echo preg_replace("/\n/", "\n\t", substr($header, 0, -1)); echo "\n"; } 

Теперь вам просто нужно вызвать эту функцию в «header.php»:

 <head> <!-- ... --> <?php indented_wp_head() ?> </head> 

Если вы также хотите использовать его для wp_footer() , вы можете создать эту функцию для общего использования в «functions.php»:

 /** * Indents the output of * a function * * @return void */ if (! function_exists("print_indented")) { function print_indented($fn) { ob_start(); call_user_func($fn); $html = ob_get_contents(); ob_end_clean(); echo preg_replace("/\n/", "\n\t", substr($html, 0, - 1)); echo "\n"; } } 

И назовите его в «header.php» или «footer.php», как

 <?php print_indented("wp_footer") ?> <?php print_indented("wp_head") ?> 

Используйте http://wordpress.org/plugins/wp-minify/ . Он будет слить css, js & html + удалить бесполезные комментарии. Скорость вашей страницы будет улучшена, и весь HTML-код в источнике будет уплотнен.

Проблема решена, я думаю!

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

 function add_indented($fn, $num_tabs=1, $params=null){ ob_start(); call_user_func($fn, $params); $html = ob_get_contents(); ob_end_clean(); $tabs=""; for ($i=0 ; $i<$num_tabs ; $i++) $tabs.="\t"; echo preg_replace("/\n/", "\n" . $tabs, substr($html, 0, - 1)); echo "\n"; } 

До

 <?php wp_head(); ?> <?php wp_footer(); ?> <?php get_template_part('template-parts/content','home'); ?> 

После:

 <?php print_indented("wp_head"); ?> <?php print_indented("wp_footer"); ?> <!-- Add 4 tabs --> <?php print_indented('get_template_part', 4,'template-parts/content', 'home'); ?>