web-dev-qa-db-fra.com

Appeler un champ personnalisé dans un élément de menu

J'ai un menu de navigation dans Wordpress. Je voudrais qu'il vérifie si la page a un champ personnalisé de "menu_icon" et si c'est le cas, ajoutez ce champ personnalisé à l'élément de menu auquel il correspond. Je suis sûr que cela nécessiterait une sorte d’extension de fonction marcheur, mais je suis un peu nouveau pour PHP et Wordpress. J'ai fait des recherches et je n'ai pas trouvé de tutoriel approprié.

Par exemple: (menu normal)

<ul>
   <li><a href="#">link</a></li>
</ul>

(custom)
<ul>
   <li><span class="icon" style="background-image:url(CUSTOM FIELD CALLED HERE);"></span><a href="link">link</a></li>
</ul>
5
Matt Stvartak

C'est ce que j'ai utilisé pour vérifier si le champ personnalisé existe ou non. Je suis sûr que vous pouvez l'utiliser aussi.

<?php 
    $custom_field = get_post_meta($post->ID, 'Your Custom Field Name', true);

    // Checks to see if there is a value in the custom field
    if($custom_field != '') { echo $custom_field; }
?>

Cela ressemblerait probablement à ceci avec votre code ci-dessus:

<ul>
   <li><span class="icon" style="background-image:url(<?php 
    $custom_field = get_post_meta($post->ID, 'Your Custom Field Name', true);

    // Checks to see if there is a value in the custom field
    if($custom_field != '') { echo $custom_field; }
?>);">   </span><a href="link">link</a></li>
</ul>
2
Nicole

Vous pouvez utiliser la fonction get_post_meta:

<?php 
$value = get_post_meta($post->ID, 'CUSTOM_FIELD_NAME', true);

if($value != '') {
  echo $value;
} 
?>

Plus d'informations à ce sujet ici: http://codex.wordpress.org/Function_Reference/get_post_meta

0
david