更改Wordpress徽标单击重定向

更改Wordpress徽标单击重定向,wordpress,Wordpress,我想在单击时更改徽标重定向。现在,当你点击徽标时,用户被重定向到主页,但我希望它重定向到另一个站点。我该怎么做?取决于您的主题 一些主题创作者让你有可能从管理员更改链接 一些主题创建者只是认为,单击徽标需要进入主页-因此需要编辑主题如果您没有从admin更改链接的选项,则很可能需要编辑主题的header.php文件,这取决于主题的构建方式 许多主题都有一个类似于以下内容的标签: <a href="<?php echo home_url();?>"><img src=

我想在单击时更改徽标重定向。现在,当你点击徽标时,用户被重定向到主页,但我希望它重定向到另一个站点。我该怎么做?

取决于您的主题

一些主题创作者让你有可能从管理员更改链接


一些主题创建者只是认为,单击徽标需要进入主页-因此需要编辑主题

如果您没有从admin更改链接的选项,则很可能需要编辑主题的header.php文件,这取决于主题的构建方式

许多主题都有一个类似于以下内容的标签:

<a href="<?php echo home_url();?>"><img src="logo.jpg"></a>
您需要将此更改为:

<a href="http://siteyouwanttoredirectto.com" target="_blank"><img src="logo.jpg"></a>
我已经添加了目标标签以在新窗口中打开站点,这是我个人在重新定向到其他站点时的首选,但这是可选的

您的主题文件可能看起来与此非常不同,如果没有看到一些代码,就不可能确定,但这应该会给您一个想法

还要注意,主题更新可能会覆盖您的更改。这可以通过创建子主题来避免


我同意斯图·米勒汉姆的观点。实现您所要求的另一种方法是使用JavaScript/jQuery

将以下代码保存到.js文件中,例如pageRedirect.js,比如放在主题根文件夹中的js文件夹中:

(function($) {

    $(document).ready(function() {


        $('#pageLogo').on( "click", function(event) {
            event.preventDefault();
            window.location.assign("http://www.google.com/");
        });


    });  

})(jQuery);
要使前面的代码正常工作,您必须通过jQuery以某种方式选择页面徽标。 在前面的代码中,这是通过$'pageLogo'实现的,因为我假设您的徽标有一个值为pageLogo的id

当然,要使您的主题能够使用这个pageRedirect.js文件,您必须将以下代码放入主题的functions.php文件中,使其排队:

/**
 * Enqueue pageRedirect script.
 */
function pageRedirect_scripts() {

        wp_enqueue_script( 'page-redirect-js', get_template_directory_uri()  . '/js/pageRedirect.js', array('jquery'), '20150528', true );
}
add_action( 'wp_enqueue_scripts', 'pageRedirect_scripts' );
代码说明:

//-jQuery selects html element with id='pageLogo'
//-when it is clicked, it calls a function in which it passes the event
$('#pageLogo').on( "click", function(event) {

    //prevents page from redirecting to homepage        
    event.preventDefault();
    //redirects to your desired webpage
    window.location.assign("http://www.google.com/");
});

根据您使用的主题,您可以尝试以下选项之一

探索管理选项,看看主题是否提供了一种直接的方式来更改徽标上的链接。 如果在管理选项中找不到,请尝试在header.php中查找代码。在徽标上执行inspect元素并查看徽标文件周围的html代码,如果代码直接出现在header.php中,则任务很简单。只需更改代码以更新URL,而不是从home\u URL读取。比如,在functions.php中使用一个不同名称的函数来更新它,比如说get_custom_link_logo,那么无论主题在哪里使用get_custom_logo,您都可以使用get_custom_link_logo来代替它

函数get\u custom\u link\u logo$blog\u id=0{


这可能不会涵盖所有的用例,但你已经明白了。根据主题的不同,你会有一个类似的解决方案。要弄清楚你属于哪种情况,最重要的是确定添加徽标html的代码。header.php是一个很好的起点。

在header或f中使用此javascript你的主题:

<script>
document.getElementsByClassName("site-logo")[0].getElementsByTagName('a')[0].href="https://www.test.com";
</script>

我假设站点徽标是您徽标的类名。

取决于您的代码。请发布代码。请参考header.phpMost
<script>
document.getElementsByClassName("site-logo")[0].getElementsByTagName('a')[0].href="https://www.test.com";
</script>