web-dev-qa-db-fra.com

Changer le lien du logo personnalisé

J'essaie de modifier l'url de mon logo personnalisé sur wordpress pour accéder à un site Web différent. J'ai essayé de nombreuses façons de faire cela avec php et des thèmes pour enfants, mais chaque fois que j'essaie quelque chose, cela casse tout simplement le site.

J'ai créé un thème enfant et copié mon fichier header.php.

Voici la section du fichier header.php qui parle du logo personnalisé:

            <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; ?>

Je suis assez nouveau sur php, je ne suis donc pas très doué pour le coder, mais voici ce que j'ai essayé d'essayer de changer l'url de mon logo:

Je crois que cette ligne doit être changée du code ci-dessus:

   <a href="<?php echo esc_url( home_url( '/' ) ); ?>">

J'ai donc essayé ceci: (J'utilise seulement Google à titre d'exemple)

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

  <a href="https://www.google.com/">

Il y a un an, j'ai vu dans un fil de discussion qu'un filtre pouvait être une option semblable à celle du fil de discussion: Comment changer l'URL de get_custom_logo ()? . Cependant, je ne sais pas où trouver ma nouvelle 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;    
}

Si quelqu'un pouvait m'aider à résoudre ce problème, je l'apprécierais vraiment. J'ai essayé de le rechercher et de le coder moi-même mais rien n'a fonctionné.

1
Cakers

Il vous suffit de mettre votre URL dans l'attribut href du lien - comme ceci (j'ai utilisé 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; ?>
1
Mihai Papuc