Intereting Posts
add_filter: Передача массива вместо функции обратного вызова? Ошибки памяти при загрузке мультимедиа, WordPress не может использовать больше, чем 96M (пока доступно 512!) Я хочу создать шаблон пользовательской формы входа Получить список сроков – Заказ Как перейти к недавно опубликованному комментарию после отправки? Анонимные сообщения Где сохранена информация о галерее изображений? Удалите дублированные сообщения в цикле, если сообщение имеет более одной категории Адрес URL-адреса WordPress продолжает отбрасывать www заставить пользователя повторно войти через 4 часа – как? Как ограничить число категорий, отображаемых по виджетам категорий Сохранение строки прерывается при сохранении и отображении данных настраиваемых полей Как добавить динамический контент на страницу сообщений, архив, таксономии, поиск, автор и т. Д.? Отображение "diaplay_name" Минимальный минимум для включения в файл PHP для использования функций WP?

Отступы (tabbing) WP_head

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

В то время как весь мой другой код, который находится вокруг wp_head, имеет отступы (с вкладками) два раза. Можно ли добавить отступ / вкладки ко всей информации 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'); ?>