2016-07-11 17 views
1

Ich versuche, ein WordPress-Menü zu einem letzten Element hinzuzufügen. So, hier ist meine Frage:Ersetzen Sie PHP-Code in Wordpress functions.php

ich einen Code in functions.php haben, das gut funktioniert:

function add_last_nav_item($items) { 
    return $items .= '<li><a href="#" >Contact</a></li>'; 
} 
add_filter('wp_nav_menu_items','add_last_nav_item'); 

Ich brauche zu ersetzen, die in den <li> Tags dabei ist:

<li><?php if(function_exists(wp_forecast)) { wp_forecast(wp_forecast("A")); } ?></li> 

I versucht, aber es funktioniert nicht.

Antwort

1

Versuchen Sie folgendes:

function add_last_nav_item($items) { 
    ob_start(); 

    echo '<li>'; 

    if (function_exists('wp_forecast')) { 
     wp_forecast(wp_forecast("A")); 
    } 

    echo '</li>'; 

    $end = ob_get_clean(); 
    $items = $items . $end; 
    return $items; 
} 
add_filter('wp_nav_menu_items','add_last_nav_item'); 
+0

Sie Stanimir Dank! Es funktionierte. Aber ich habe immer noch ein Problem dort. Das Menü, in das ich den Code einfügen möchte, verkleinert sich und bewegt sich mit der Animation, wenn Sie nach unten scrollen. Der Code funktioniert, weil das WP-Forecast-Plugin im Frontend erscheint, aber nicht im Menü bleibt. Es bleibt immer am selben Ort. Vielleicht weißt du, was soll ich tun? – user3741840

+0

Wäre es möglich, einen Link zu Ihrer Site bereitzustellen? Dies scheint wie CSS-Problem und ich bin mir nicht sicher, wie es aussieht, also wenn Sie einen Link zur Verfügung stellen können, wird es sehr hilfreich sein –

+0

Natürlich mein Freund. . Sie werden feststellen, dass das letzte Element außerhalb des Menücontainers liegt. Vielleicht sollte ich einige andere Dateien des Themas modifizieren. Ich weiß, es ist schwierig für Sie, ohne auf alle Dateien zuzugreifen, aber mit jedem Rat, den Sie mir geben können, werde ich sehr zufrieden sein. – user3741840