Фавикон 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 файл шаблона и обновите его здесь.

Другие вопросы по тегам