如何在带有钩子的21世纪主题中更改页脚字幕文本?

时间:2021-03-31 作者:AndrewL64

如果我想更改页脚信用,我通常会复制footer.php 添加到子主题并编辑以下代码段:

<div class="powered-by">
    <?php
    printf(
        /* translators: %s: WordPress. */
        esc_html__( \'Powered by %s.\', \'WordPress\' ),
        \'<a href="\' . esc_url( __( \'https://wordpress.org/\', \'WordPress\' ) ) . \'">WordPress</a>\'
    );
    ?>
</div>
我正在尝试学习如何在WordPress中使用挂钩,并想知道如何在中的自定义挂钩的帮助下完成与上面相同的操作functions.php. 正确的做法是什么?

1 个回复
最合适的回答,由SO网友:Andy Macaulay-Brook 整理而成

该代码段不包含挂钩,因此没有任何可供挂钩的内容。

如果该文件具有以下内容:

<div class="powered-by">
    <?php
        echo apply_filters( \'credit-text\', \'Powered by <a href="https://wordpress.org/">WordPress</a>\' );
    ?>
</div>
然后你可以这样做:

add_filter( \'credit-text\', \'wpse385946_credit_text\' );

function wpse385946_credit_text( $credit ) {

    return \'Site by <a href="/">Me!</a>\';

}
原始主题中的翻译函数还有一个额外的复杂性:如果变量中的文本可能需要翻译,则不希望在其中使用变量。如果你的主题是为一个私人网站而不是出版物,那么翻译对你来说可能不是问题。

IMO使用带有子主题的内置模板层次结构是最简单的方法。当你或其他人稍后回到主题时,很明显你的改变是如何运作的。如果您在函数文件中有非常令人信服的理由这样做,那么您可能会以某种方式连接到get\\u template\\u部分,但这似乎是一种非常复杂的方式来完成模板层次结构已经为您完成的事情。

相关推荐

[Zapier+WP Webhooks Pro]:自定义字段在第一个逗号或分号处被截断

我在用Zapier和WP Webhooks Pro 将Google Sheet和WP连接到自动发布添加到电子表格的每一行的帖子。它的工作原理与预期一样,所有字段(包括自定义字段)都已正确填充,只有那些具有逗号和/或分号字符串的字段除外。那些被切断了。Setting up the custom field in ZapierSuccess output in Zapier after posting to WPCustom field in WP (cut off after semicolon)非常感谢您