带有自定义模板的 Wordpress 图标

Wordpress's favicon with custom template

我正在用 wordpress 建立一个网站,但我正在为网站图标而苦苦挣扎。问题在于:假设出于某种原因,您想在后端编写代码(使用唯一的静态代码,例如,如果您需要直接在页面中添加一些 php,或者一些 javascript) 使用自定义模板。 这可能不是一个好习惯,但假设您想像这样向正文添加一个 class(出于样式目的):

<?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 添加一个新的 class 并且我想避免在代码顶部 html 声明之前创建一个新的 body 标签。我想为单个模板做,因为通过这种方式,我可以轻松地直接在我的静态 html 中添加一些 php 和一些 javascript。 需要明确的是,我编写的代码,即使它不整洁并且在技术上是错误的,它也能正常工作,但缺点是您在添加 body_class 函数的页面上看不到图标。有什么建议吗?

您要在 get_header() 之前添加 body 标签,因此这将在 header 标签之前呈现。

您需要做的是编辑 header.php 模板文件,并在此处更新它。

我找到了解决方案:

<?php  
add_filter( 'body_class', function( $classes ) {
    return array_merge( $classes, array( 'whatever' ) );
} );
?>