如何覆盖二十一七主题中的模板-tag s.php

时间:2018-06-18 作者:jchwebdev

我从2017年的主题中创建了一个儿童主题,它似乎奏效了。

我可以覆盖内容。php文件,创建一个匹配的文件夹和我自己的内容。我的孩子主题中的php。

/template-parts/post/content.php
。。。工作正常。

然而,我尝试通过执行以下操作来覆盖单个帖子标题中的metta标记

/inc/template-tags.php
。。。以及模板标记中的函数。php(例如TwentySeven\\u post\\u on())并没有像我预期的那样覆盖主主题的版本。

我做错了什么?

1 个回复
SO网友:Krzysiek Dróżdż

如果你看看template-tags.php 文件,然后您将看到类似的内容:

if ( ! function_exists( \'twentyseventeen_posted_on\' ) ) :
/**
 * Prints HTML with meta information for the current post-date/time and author.
 */
function twentyseventeen_posted_on() {

    // Get the author name; wrap it in a link.
    $byline = sprintf(
        /* translators: %s: post author */
        __( \'by %s\', \'twentyseventeen\' ),
        \'<span class="author vcard"><a class="url fn n" href="\' . esc_url( get_author_posts_url( get_the_author_meta( \'ID\' ) ) ) . \'">\' . get_the_author() . \'</a></span>\'
    );

    // Finally, let\'s write all of this to the page.
    echo \'<span class="posted-on">\' . twentyseventeen_time_link() . \'</span><span class="byline"> \' . $byline . \'</span>\';
}
endif;
该代码第一行中的if语句负责检查给定函数是否已定义。

那么你能做些什么呢?只需定义自己的函数twentyseventeen_posted_on 在您的子主题中,您的函数将被使用。

重要提示:在2017年定义自己的版本之前定义函数是至关重要的。

结束

相关推荐

Editing a theme's templates

我已成功安装模板。我知道如何使用模块、文章和菜单创建。我不知道如何使用代码部分。如何更改css上的样式如何修改模板如何修改主页我已多次尝试在安装目录中查找文件夹,但未能找到。如何查找并更改它。