Das Hinzufügen des ACF-Bildfelds in der Navigation wird nicht angezeigt

Lesezeit: 1 Minute

Benutzeravatar von qulpe
qulpe

Ich versuche, mit Advanced Custom Fields PRO ein Bild zur header.php-Navigation hinzuzufügen, es wird jedoch nicht angezeigt. Ich habe verschiedene Lösungen ausprobiert, wie zum Beispiel (in functions.php):

add_filter('wp_nav_menu_items', 'my_wp_nav_menu_items', 10, 2);

function my_wp_nav_menu_items( $items, $args ) {

    $menu = wp_get_nav_menu_object($args->menu);
    
    if( $args->theme_location == 'top' ) {
        
        $logo = get_field('logo', $menu);
        $color = get_field('color', $menu);
        
        $html_logo = '<li class="menu-item-logo"><a href="'.home_url().'"><img src="'.$logo['url'].'" alt="'.$logo['alt'].'" class="logo" /></a></li>';
        
        $html_color="<style type="text/css">.navigation-top{ background: ".$color.';}</style>';
        
        $items = $html_logo . $items . $html_color; 
    }
    return $items;
}

Ich habe versucht, das args-Array auszudrucken, aber es wird als leer angezeigt.

Zweite Lösung, die ich versucht habe (in header.php):

<?php $image = get_field('logo'); ?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" class="logo" />

Vielen Dank im Voraus <3

edit: Ich habe auch versucht mit:

        <?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'logo', true);
wp_reset_query();
?>

bot gibt es keine Ausgabe. Wenn ich es von wahr auf falsch ändere, bekomme ich nur ein leeres Array
[1]: https://i.stack.imgur.com/03u0H.png
[2]: https://imgur.com/a/nIRu3Nt

  • Wo wird das Feld gesetzt? Ist es auf einer Optionsseite? Auf eine Kategorie? Ein bestimmter Beitrag/Seite?

    – DubVader

    6. Januar 2021 um 17:15 Uhr

  • Auch ein Screenshot des ACF-Felds auf der betreffenden Seite könnte hilfreich sein. Wenn var_dump() nichts anzeigt, bedeutet dies, dass Sie einen Schritt zurücktreten und den Vorgang erneut durchlaufen müssen.

    – thaikolja

    6. Januar 2021 um 23:13 Uhr


  • Ich habe Links mit Bildern meiner ACF-Felder hinzugefügt. Ich ziele auf ein bestimmtes Menü ab. (das Ändern der Regel von Menüpunkt zu Menü ändert nichts). @thaikolja

    – qulpe

    7. Januar 2021 um 8:56 Uhr


  • @DubVader Ich ziele auf ein Menü ab

    – qulpe

    7. Januar 2021 um 8:59 Uhr

  • Ich ziehe es vor, die Bild-URL-Option (anstelle von Array) zu verwenden, wenn ich das Bild so implementieren werde, wie Sie es hier tun. Es gibt die URL zurück und dann fügen Sie sie in die ein <img> Tag und Bingo-Bango

    – JDawwgy

    24. August um 23:38 Uhr

Sie haben $menu in der Funktion get_field anstelle der Position des Felds übergeben 🙂

$logo = get_field('logo', 'locationGoesHere');

Verwenden Sie zB immer var_dump($logo); um zu überprüfen, ob Sie etwas aus der Datenbank abrufen, wenn Sie an diesem Punkt fehlschlagen, sollten Sie nicht weiter suchen: D Wenn Sie sich nicht sicher sind, wo sich Ihr Feld befindet, das Sie erstellt haben, gehen Sie zu Tools in ACF und “Exportieren”. Ihre Optionen zu JSON/PHP -> suchen Sie nach Ihrem Feldlogo und unter diesem verschachtelten Feld sollten Sie den Schlüssel „Standort“ haben.

1428630cookie-checkDas Hinzufügen des ACF-Bildfelds in der Navigation wird nicht angezeigt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy