Как правильно добавить метатег viewport в WordPress без header.php

24 мая 2017 г., 05:34:47
Просмотры: 17.4K
Голосов: 3

Я создал свою собственную тему WordPress с нуля и не использую header или footer для неё (то есть отсутствуют файлы header.php и footer.php). Весь важный контент находится непосредственно в файле index.php.

Поэтому я задумался, куда мне можно вставить свои метатеги. В частности, этот метатег:

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

Сейчас я работаю над адаптивностью своей темы, но пока все мои CSS media queries не работают.

Могу ли я просто вставить его в файл index.php или мне нужно создать функцию в файле functions.php?

Спасибо за любую помощь!

0
Все ответы на вопрос 2
1

Мета-тег должен быть вставлен в раздел <head> веб-сайта. Независимо от того, используете ли вы файлы header.php и footer.php или нет, у вас должен быть раздел <head> в вашем документе.

Например, код в вашем документе должен выглядеть примерно так:

<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">

Также убедитесь, что вы используете <?php wp_head(); ?> (перед закрывающим тегом </head>) и <?php wp_footer(); ?> (перед закрывающим тегом </body>) в своей теме, так как почти все плагины зависят от них. Эти коды являются стандартными в файлах header.php и footer.php.

Это не совсем вопрос по WordPress, скорее речь идет о мета-теге и разделе <head>.

24 мая 2017 г. 12:38:10
Комментарии

Ах да, я тоже сомневался, уместно ли это в данной ветке, но поискал в других местах и не нашёл вообще ничего. Также я понял, что некоторые мои CSS media queries были некорректно отформатированы, поэтому они не работали. Спасибо за помощь!

eastwind eastwind
25 мая 2017 г. 05:56:20
2

Попробуйте добавить этот код в functions.php

add_action( 'wp_head', 'add_viewport_meta_tag' , '1' );

function add_viewport_meta_tag() {
    echo '<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">';
}
16 февр. 2019 г. 15:47:51
Комментарии

Это нормально, если ваша тема не имеет установленного "meta viewport" в файле /header.php. В противном случае он будет дублироваться и может не работать.

gtamborero gtamborero
8 мар. 2022 г. 17:03:57

@gtamborero мы можем удалить предыдущий мета-тег с помощью этого: remove_action('wp_head', '_block_template_viewport_meta_tag', 0); - для блочных тем с FSE

Iggy Iggy
24 янв. 2023 г. 14:07:42