2017-06-21 4 views
0

Ich versuche, einen Header zu erstellen, in meinen WP-Posts verwendet werden, so dass es ein Listenelement anzeigt und nach dem Autor des Beitrags ankern. Zum Beispiel, wenn und nur wenn der Autor die ID 6 hat, wird der Header ein weiteres Listenelement mit einem Anker haben, sagen wir, Seite A. Wenn es nicht dieser Autor ist, will ich nicht, dass es die Liste anzeigt Artikel.Bedingte Wordpress-Header

<?php get_header('bananas'); ?> 

und in Kopf bananas.php Ich habe:

<nav> 
    <ul> 
     <li><a href="#">Home</a></li> 
     <li><a href="#">Clinic's Blog</a></li> 
     <?php if (!is_author(6)){ ?> 
      <li id="apples"><a href="#">Link to page A</a></li> 
     <?php } ?> 
    </ul> 
</nav> 

jedoch

Also in meinem Single-post.php Vorlage ich diesen Header ich möchte laden Ich vermute, dass Wordpress den Header nicht durchläuft, so dass es vor dem Laden des Posts in single-post.php nicht erkennen kann, ob die Bedingung wahr ist, weil #apples angezeigt wird, selbst wenn dieser Beitrag nicht vom Autor von id 6 geschrieben wurde.

Bin ich richtig? Wenn ja, was ist der beste Ansatz, um eine Bedingung mit einer Wordpress-Funktion in der Kopfzeile zu laden? Vielen Dank!

Antwort

0

Ich verwendete die falsche Funktion.

Der richtige Weg, dies zu tun wäre so etwas wie diese:

<?php 
    $myauthor = get_the_author_ID($post->ID); 
    if ($myauthor == 6){ 
     echo '<li id="apples"><a href="#">Link to Page A</a></li>'; 
    }; 
?>