Фавикон Wordpress с пользовательским шаблоном
Я создаю сайт с WordPress, и я борюсь с иконкой. Вот проблема: допустим, по какой-то причине вы хотите написать свой код в бэкэнде (используя только статический код, например, если вам нужно добавить какой-то php прямо на страницу, или некоторый javascript), используя пользовательский шаблон. Вероятно, это не очень хорошая привычка, но допустим, что вы хотите добавить класс к телу (для стилизации) следующим образом:
<?php
/**
* Template Name: Your template
*
* @package WordPress
* @subpackage Twenty_Sixteen
* @since Twenty Sixteen 1.0
*/
?>
<body <?php body_class( 'your-class' ); ?>>
<?php get_header(); ?>
Вы сгенерируете такой код:
<body class="your-class some-other-class">
<!DOCTYPE html>
<html lang="en-CA" prefix="og: http://ogp.me/ns#" class="no-js">
<head>
<meta charset="UTF-8">
<OTHER THINGS>
</head>
<body class="all-the-other-class">
Так вот в чем проблема. Я просто хочу добавить новый класс в тело, в теге body, и я хочу избежать создания нового тега body в верхней части кода перед объявлением html. И я хочу сделать для одного шаблона, потому что, таким образом, я могу легко добавить немного php и немного javascript прямо в мой статический html. Для ясности, код, который я написал, даже если он не аккуратный и технически неправильный, работает нормально, но недостатком является то, что вы не видите значок на странице, где вы добавляете функцию body_class. Любое предложение?
2 ответа
Я нашел решение:
<?php
add_filter( 'body_class', function( $classes ) {
return array_merge( $classes, array( 'whatever' ) );
} );
?>
Вы добавляете body
тег перед get_header()
, так что это будет отображаться перед тегами заголовка.
Что вам нужно сделать, это отредактировать header.php
файл шаблона и обновите его здесь.