Changing custom logo link

时间:2017-09-08 作者:Cakers

我正在尝试更改wordpress上的自定义徽标url,以转到其他网站。我尝试了很多不同的方法来处理php和子主题,但每次我尝试一些东西,它都会破坏网站。

我创建了一个子主题并复制了标题。php文件。

这是标题中的部分。关于自定义徽标的php文件:

            <div class="logo">
                <?php if( function_exists( \'the_custom_logo\' ) && has_custom_logo() ) : ?>
                <figure class="logo-image">
                    <?php flash_the_custom_logo(); ?>
                    <?php if( get_theme_mod( \'flash_transparent_logo\', \'\') != \'\') : ?>
                    <a href="<?php echo esc_url( home_url( \'/\' ) ); ?>">
                        <img class="transparent-logo" src="<?php echo esc_url( get_theme_mod( \'flash_transparent_logo\', \'\' ) ); ?>" />
                    </a>
                    <?php endif; ?>
                </figure>
                <?php endif; ?>
我对php非常陌生,因此我并不擅长编写php代码,但以下是我尝试更改徽标url时所做的一些事情:

我认为这一行需要更改上述代码:

   <a href="<?php echo esc_url( home_url( \'/\' ) ); ?>">
所以我尝试了以下方法:(我只是以谷歌为例)

  <a href="<?php echo esc_url(https://www.google.com/); ?>">

  <a href="https://www.google.com/">
一年前,我从一个线程中看到,过滤器可以是线程中的一个选项:How to change get_custom_logo() url? . 然而,我不知道我的新url放在哪里。

add_filter( \'get_custom_logo\',  \'custom_logo_url\' );
function custom_logo_url ( $html ) {

$custom_logo_id = get_theme_mod( \'custom_logo\' );
$url = network_site_url();
$html = sprintf( \'<a href="%1$s" class="custom-logo-link" rel="home" 
itemprop="url">%2$s</a>\',
    esc_url( $url  ),
    wp_get_attachment_image( $custom_logo_id, \'full\', false, array(
        \'class\'    => \'custom-logo\',
    ) )
);
return $html;    
}
如果有人能帮我解决这个问题,我将不胜感激。我尝试过自己研究它并编写代码,但都没有成功。

1 个回复
SO网友:Mihai Papuc

您只需将url放入href 链接的属性-如下所示(我使用http://example.com):

            <?php if( function_exists( \'the_custom_logo\' ) && has_custom_logo() ) : ?>
            <figure class="logo-image">
                <?php flash_the_custom_logo(); ?>
                <?php if( get_theme_mod( \'flash_transparent_logo\', \'\') != \'\') : ?>
                <a href="http://example.com">
                    <img class="transparent-logo" src="<?php echo esc_url( get_theme_mod( \'flash_transparent_logo\', \'\' ) ); ?>" />
                </a>
                <?php endif; ?>
            </figure>
            <?php endif; ?>

结束