Ich bin immer noch ein ziemlicher Anfänger in PHP, also sorry, wenn das eine dumme Frage ist =)
Was ich versuche, ist in einem WordPress-Blog ein benutzerdefiniertes Feld mit mehreren Werten (“Zutaten”) in meinen RSS-Feed einzufügen. (Ich habe auch andere Posts, die keine Rezepte sind, weshalb die Überschriften “Zutaten” und “Anleitung” in der if-Anweisung stehen.) Hier ist mein gesamter Code bisher:
<?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');
?>
Aber ich bekomme einen “unerwarteten IF”-Fehler, also kann ich das alles nicht in die $recipeStuff-Variable einfügen =) Mir fällt einfach nicht ein, wie ich es sonst dort einfügen könnte.
(Wenn es darauf ankommt, die IF-Anweisung ist genau das, was ich in den Beiträgen auf der Seite selbst verwende, und es funktioniert perfekt!)
Vielen Dank im Voraus für jede Hilfe! =D
AKTUALISIEREN!
Folgendes habe ich jetzt in meinem Code:
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');
Ich bekomme keine Fehlermeldung mehr, aber die Zutaten werden nicht im RSS-Feed angezeigt. Ich bin mir nicht sicher, ob es daran liegt, dass immer noch etwas mit dem Code nicht stimmt, oder ob es eine Weile dauert, bis eine Wirkung eintritt (obwohl ich nicht weiß, warum das der Fall sein sollte)? Ich benutze FeedBurner, falls das einen Unterschied macht.
Vielen Dank für Ihre Antworten, alle. Ich werde ein paar verschiedene Dinge ausprobieren und in Kürze wieder aktualisieren. Vielen Dank! =)
Versuchen Sie für Ihren UPDATE-Code: if ($ingredients == get_post_custom_values(‘ingredients’)) {
– Phil Pafford
30. September 2010 um 16:20 Uhr