Множество способов добавить ID к элементу ‘body’

Каждый из этих сниппетов был так или иначе собран из документации или похожего онлайн-источника.

На протяжении долгого времени я работал над веб-дизайном WordPress, были случаи, когда мне нужно было добавить ID или класс к тегу body. Например, это часто случается во время интеграции стороннего плагина в WordPress, который создает свои собственные страницы, которые WordPress не распознаёт. Или мне нужны более гибкие классы для дизайна сайта, который я создаю.

Чтобы изменить внешний вид этих страниц так, чтобы область видимости стилей распространялась только на эту страницу, нам нужен способ нацелиться на эту страницу или категорию страниц. Ниже приведены некоторые способы, которые я считаю полезными для добавления ID и классов к body элементу как с использованием WordPress, так и без него.

PHP вариации

#01 — добавить ID из URL

Этот способ извлечет слэш, '.php' и '?pg' из URL и использует остальное как ID. Изменить массив для удовлетворения Вашего частного случая.

&lt;br /&gt;<br />
	&amp;lt;?php&lt;br /&gt;<br />
	$page = str_replace(array(&amp;#39;/&amp;#39;, &amp;#39;.php&amp;#39;, &amp;#39;?pg=&amp;#39;), &amp;#39;&amp;#39;, $_SERVER['REQUEST_URI']);&lt;br /&gt;<br />
	$page = $page ? $page : &amp;#39;default&amp;#39;;&lt;br /&gt;<br />
	?&amp;gt;<br />
	&lt;/p&gt;
</p>

<p>
	&lt;p&gt;<br />
	&amp;lt;body id=&amp;quot;&amp;lt;?php echo $page ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;<br />
	

Пример:

http://domain.com/directory/test.php?pg=12345

Стало:

<body id="directorytest12345">

#02 — Добавить ID и класс из URL

Этот способ ищет '?' в URL и превращает то, что идёт до него в ID, а то, что идёт после — в класс.

&amp;lt;?php&lt;br /&gt;<br />
	list($page, $class) = explode(&amp;#39;?&amp;#39;, $_SERVER['REQUEST_URI']);&lt;br /&gt;<br />
	$page = str_replace(array(&amp;#39;/&amp;#39;, &amp;#39;.php&amp;#39;), &amp;#39;&amp;#39;, $page);&lt;br /&gt;<br />
	$class = str_replace(array(&amp;#39;=&amp;#39;), &amp;#39;&amp;#39;, $class);&lt;br /&gt;<br />
	?&amp;gt;<br />
	&lt;/p&gt;
</p>

<p>
	&lt;p&gt;<br />
	&amp;lt;body id=&amp;quot;&amp;lt;?php echo $page ?&amp;gt;&amp;quot; class=&amp;quot;&amp;lt;?php echo $class ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;<br />
	

Пример:

http://domain.com/directory/test/?pg=12345

Становится:

<body id="directorytest" class="12345">

#03 — Добавить ID из названия файла

Это удаляет '.php' и использует название файла в качестве ID:

<body id="<?=basename($_SERVER['PHP_SELF'],'.php')?>">

Пример:

http://domain.com/directory/test.php

<body id="test">

#04 — Добавить ID из директории первого уровня:

Это извлечет директорию первого уровня и использует её в качестве ID:

$url = explode('/', $_SERVER['REQUEST_URI']);&lt;br /&gt;<br />
	$dir = $url[1] ? $url[1] : &amp;#39;home&amp;#39;;&lt;br /&gt;<br />
	?&amp;gt;<br />
	&lt;/p&gt;
</p>

<p>
	&lt;p&gt;<br />
	&amp;lt;body id=&amp;quot;&amp;lt;?php echo $dir ?&amp;gt;&amp;quot;&amp;gt;

Пример:

http://domain.com/directory1/directory2/test.php

Становится


Оригинал