【问题标题】:How to replace instance of WordPress home_url hyperlink via functions.php如何通过functions.php替换WordPress home_url超链接的实例
【发布时间】:2015-03-17 16:37:15
【问题描述】:

我正在使用的 WordPress 主题将 home_url() 链接应用到标题徽标,我想将其更改为 network_home_url()... 如果我正在编辑主题文件,这很容易,但我想通过子主题 functions.php 文件来完成,这样我就可以将所有调整与主主题分开(这是一个多站点安装)。

这就是我正在使用的(尽管是简化的):

<div class="logo">
    <a href="<?php echo home_url(); ?>">
        <img src="/image.png">
    </a>
</div>

我尝试了以下方法,这些方法有效,但导致网站范围内的更改(包括 WP 设置等),这反过来又破坏了所有永久链接:

add_filter('home_url', 'change_logo_link');
function change_logo_link($output) {
    return network_home_url();
}

有没有一种方法可以在不编辑父主题文件的情况下定位该特定超链接?我不认为 home_url 函数在主题的其他任何地方都使用过,所以它不需要太具体,我只是想避免影响 WP 设置。

提前致谢!!!

【问题讨论】:

    标签: php wordpress-theming multisite


    【解决方案1】:

    子主题的概念是允许在不更改父主题的情况下自定义几乎所有内容。只需将带有该徽标代码的父主题的模板文件复制到子主题的文件夹中,然后将 home_url() 替换为 network_home_url()。如果您在您的网站上激活此子主题,WordPress 将使用修改后的子模板而不是父模板。

    【讨论】:

    • 哦,太好了,我没有意识到我能做到这一点 - 谢谢你,效果很好!
    • 看起来很明显,但模板文件需要与父主题具有相同的相对文件路径(以防其他人遇到同样的问题)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    相关资源
    最近更新 更多