Logo-Link entfernen in Twenty Seventeen WIE??

  • Hallo zusammen,

    wir würden das Twenty Seventeen-Theme gerne für eine Promo-Webseite nutzen. Allerdings stört der Link hinter dem Logo auf der Startseite. Da das Logo bei unserem One-Page-Design ausschließlich dort oben angezeigt wird, lädt die Seite bei Klick auf das Logos nur neu. Ist noch niemandem aufgefallen, dass das gar keinen Sinn macht?
    Ich hab nun schon lange nach einer Lösung gesucht und hoffe hier hat jemand die rettende Lösung.

    Toni

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • schau mal in dein template in die header datei.

    und nimm einfach den <a link raus... der um das logo gesetzt ist.
    natürlich childtheme nicht vergessen

  • Das hatte ich schon ausprobiert, bringt aber keine Änderung.
    Oder hab ich etwas falsch gemacht?

    vorher:

    <header id="masthead" class="site-header" role="banner">
    <div class="site-header-main">
    <div class="site-branding">
    <?php twentysixteen_the_custom_logo(); ?>

    <?php if ( is_front_page() && is_home() ) : ?>
    <h1 class="site-title">[COLOR=#ff0000]<a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>[/COLOR]</h1>
    <?php else : ?>
    <p class="site-title">[COLOR=#ff0000]<a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>[/COLOR]</p>
    <?php endif;

    nachher:

    <header id="masthead" class="site-header" role="banner">
    <div class="site-header-main">
    <div class="site-branding">
    <?php twentysixteen_the_custom_logo(); ?>

    <?php if ( is_front_page() && is_home() ) : ?>
    <h1 class="site-title"></h1>
    <?php else : ?>
    <p class="site-title"></p>
    <?php endif;

  • das ist der titel ;)) und nicht das bild.

    sowie es aussieht ist es diese zeile [COLOR=#333333]<?php twentysixteen_the_custom_logo(); ?>
    jedoch hängt das noch wo anders drinnen.[/COLOR]

  • Mist, ich hatte gehofft, dass sich dieses "Custom-Logo" den Link vom Titel schnappt.
    Ich bin an diesem Problem echt am verzweifeln. So kann man das Theme für ein One-Page-Layout eigentlich vergessen.
    Kann man nicht irgendwo diese "custom-Logo-Link"-class ändern?

  • Nope, da steht lediglich:


    // Add theme support for Custom Logo.

    add_theme_support( 'custom-logo', array(

    'width' => 250,

    'height' => 250,

    'flex-width' => true,

    ) );

  • Hallo zusammen,

    wir würden das Twenty Seventeen-Theme [...]

    Das hatte ich schon ausprobiert, bringt aber keine Änderung.
    Oder hab ich etwas falsch gemacht?

    [...]

    <?php twentysixteen_the_custom_logo(); ?>

    Irgendwie habe ich das Gefühl, hier geht etwas durcheinander.
    Du schreibst, du nutzt twenty-seventeen. Auf der verlinkten Seite wird auch tatsächlich twenty-seventeen verwendet. Der Quellcode, den du bearbeitet hast, gehört aber zu twenty-sixteen.

    Kann es sein, dass du das falsche Theme bearbeitest und es deshalb nicht funktioniert?

  • Ups, da hatte ich den Tipp von Henk1060 doch tatsächlich am falschen Theme ausprobiert :roll:.
    Hab die anderen Themes jetzt gelöscht damit das nicht nochmal vorkommt.
    In der header.php von twenty seventeen existiert allerdings überhaupt kein <a link für den Header-Bereich.
    Das einzige mit <a dort ist:
    <a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'twentyseventeen' ); ?></a>
    für einen skip to content-Befehl.
    Der "site-title"-Code den ich geändert hatte befindet sich beim twenty seventeen in der "site-branding.php" unter template-parts/header. Dort taucht dann auch wieder das "<?php the_custom_logo(); ?>" auf.
    Ich habe dort mal testweise den <a Link für den Site-Title entfernt und natürlich ebenfalls kein Resultat erhalten.

    Bleibt also immer noch die Frage wo man diese "custom-logo-link"-class ändern kann.

  • Man könnte die Ausgabe filtern und nur den img-Tag behalten, z.B. in [FONT=courier new]functions.php[/FONT], ungetestet:

    PHP
    function my_get_custom_logo( $html, $blog_id  ) {
        $html = strip_tags( $html, '<img>' );
        return $html;
    }
    add_filter( 'get_custom_logo', 'my_get_custom_logo', 10, 2 );

  • Der "site-title"-Code den ich geändert hatte befindet sich beim twenty seventeen in der "site-branding.php" unter template-parts/header. Dort taucht dann auch wieder das "<?php the_custom_logo(); ?>" auf.

    Du bist auf jeden Fall an der richtigen Stelle.
    Der Codex sagt:
    https://developer.wordpress.org/reference/func…he_custom_logo/

    Sprich, die Funktion gibt das Logo zwangsläufig verlinkt zurück. Es gibt keine Option oder Parameter, das zu verhindern.

    Das heißt, deine einzige Option ist, die Funktion the_custom_logo() zu ersetzen. Der entscheidende Tipp ist dabei der von Rami Yushuvaev unten auf der Seite:
    https://developer.wordpress.org/reference/func…o/#comment-2158

    Damit bekommst du nur die URL des Custom Logo und kannst das entsprechend ändern...


    Edit: Ok, es ist nicht die einzige Option. Den Filter benutzen, wie b3317133 vorschlägt, geht natürlich auch ;)

    Einmal editiert, zuletzt von danielgoehr (19. Mai 2017 um 13:26)

  • Filter ist eingebaut und funzt!!
    Krasser Workaround - das hatte ich mir bedeutend einfacher vorgestellt.
    Wäre schön wenn die Entwickler beim nächsten Update das noch einmal überdenken würden.
    Ein Logo, welches beim scrollen nicht mitwandert, zwingend als Home-Link auszugeben - da sag ich jetzt mal nix zu ;-)

    1000 Dank an Euch von allen beteiligten!!

  • Oha, nun habe ich alles in ein childtheme gepackt, es wird auch in WordPress angezeigt, und nach Klick auf aktivieren gibt es nur noch eine weiße Fläche und nichts geht mehr :shock:. Hat sich bei der Erstellung der Child Themes neuerdings etwas geändert?

    Meine functions.php (Anfang) sieht so aus:

    function twentyseventeen_child_styles() {
    wp_deregister_style( 'twentyseventeen-style');
    wp_register_style('twentyseventeen-style', get_template_directory_uri(). '/style.css');
    wp_enqueue_style('twentyseventeen-style', get_template_directory_uri(). '/style.css');
    wp_enqueue_style( 'childtheme-style', get_stylesheet_directory_uri().'/style.css', array('twentyseventeen-style') );
    }
    add_action( 'wp_enqueue_scripts', 'twentyseventeen_child_styles' );

  • Beispiel Child-Theme für Twenty Seventeen, Datei [FONT=courier new]functions.php[/FONT]

    PHP
    function my_theme_enqueue_styles() { 
        wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); 
    }
    add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );


    Den Grund einer "weissen Fläche" identifiziert man am besten durch komplettes Auskommentieren und schrittweise wieder Einbinden des gesamten Restes der functions.php

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!