PHP: puis-je mettre une instruction if à l'intérieur d'une variable?

Je suis encore un peu débutant en PHP, donc désolé si c'est une question stupide =)

Ce que je suis en train de faire est dans un blog WordPress, insérer un champ personnalisé avec plusieurs valeurs (les"ingrédients") dans mon flux RSS. (J'ai aussi d'autres postes qui ne sont pas des recettes, c'est pourquoi la rubrique "Ingrédients" et "Instructions" sont à l'intérieur de l'instruction if.) Voici mon code pour l'instant:

    <?php
    function insertIngredients($content) {
     /* get ingredients into variable $recipeStuff */
     $recipeStuff = 
   if ($ingredients = get_post_custom_values('ingredients')) {
    echo '<h3>Ingredients</h3><ul id="ingredients">';
    foreach ( $ingredients as $key => $value ) {
   echo '<li>';
   echo $value;
   echo '</li>';
    } 
    echo '</ul><h3>Instructions</h3>';
   }
     /* add before content */
        $content = $recipeStuff . $content;
        return $content;
    }
    /* Do it! */
    add_filter('the_excerpt_rss', 'insertIngredients');
    add_filter('the_content_rss', 'insertIngredients');
    ?>

Mais une obtenir une "inattendu SI" erreur, donc je suppose que je ne peux pas mettre tout ce que l'intérieur de l' $recipeStuff variable =) je ne peux pas penser comment le mettre là.

(Si c'est important, SI l'instruction est exactement ce que j'utilise dans les posts sur la page elle-même, et il fonctionne parfaitement!)

Merci beaucoup d'avance pour toute aide! =D

Mise à JOUR!

Voici ce que j'ai dans mon code maintenant:

function insertIngredients($content) {
/* test for presence of ingredients & set variables */
if ($ingredients = get_post_custom_values('ingredients')) {
    $heading1 = '<h3>Ingredients</h3><ul id="ingredients">';
    foreach ( $ingredients as $key => $value ) {
        $ings = '<li>' . $value . '</li>';
    }
    $heading2 = '</ul><h3>Instructions</h3>';
}
/* if no ingredients, variables are empty */
else { $heading1=''; $ings=''; $heading2=''; }

$recipeStuff = $heading1 . $ings . $heading2 ;

/* add before content */
    $content = $recipeStuff . $content;
    return $content;
}
/* Do it! */
add_filter('the_excerpt_rss', 'insertIngredients');
add_filter('the_content_rss', 'insertIngredients');

Je n'ai plus obtenez un message d'erreur, mais les ingrédients ne sont pas apparaître dans le flux rss. Je ne sais pas si c'est parce que quelque chose est encore mal avec le code, ou si il faut un certain temps pour avoir un effet (même si je ne sais pas pourquoi ce serait le cas)? J'utilise FeedBurner, si cela fait une différence.

Merci beaucoup pour vos réponses, tout le monde. Je vais essayer de faire un peu de choses différentes et mise à jour dans un peu. Merci! =)

  • Pour votre code de mise à JOUR à essayer: si ($ingrédients == get_post_custom_values ("ingrédients")) {
InformationsquelleAutor KeriLynn | 2010-09-29