Hallo,
ich bitte um Hilfestellung.
Ich habe es mir zur Aufgabe gemacht, benutzerdefinierte Felder zu erstellen und diese als Shortcode im Text anzeigen zu lassen.
Zu diesem speziellen Thema findet man viel im Internet, aber nichts wirklich voranbringendes. Daher versuche ich jetzt mein Glück hier... :o)
Folgendes Programm habe ich zur Ausgabe des benutzerdefinierten Feldes "Reise" geschrieben:
<!--BEGIN Benutzerdefiniertes Feld: Reise-->
<?php
$reise = get_post_meta($post->ID, "Reise", false);
$reise[0] = "Tag 1";
$reise[1] = "Tag 2";
$reise[2] = "Tag 3";
$reise[3] = "Tag 4";
$reise[4] = "Tag 5";
$reise[5] = "Tag 6";
$reise[6] = "Tag 7";
$reise[7] = "Tag 8";
$reise[8] = "Tag 9";
$reise[9] = "Tag 10";
$reise[10] = "Tag 11";
$reise[11] = "Tag 12";
$reise[12] = "Tag 13";
$reise[13] = "Tag 14";
$reise[14] = "Tag 15";
$reise[15] = "Tag 16";
$reise[16] = "Tag 17";
$reise[17] = "Tag 18";
$reise[18] = "Tag 19";
$reise[19] = "Tag 20";
$reise[20] = "Tag 21";
if ($reise[0] =="")
{?>
<! -- Wenn keine benutzerfreundlichen Felder (custom fields) vorhanden sind, wird nichts angezeigt -->
<?php
} else
{
?>
<div class="Reise">
<p><b>Ihre Reise:</b></p>
<?php
echo "<pre>";
foreach ($reise as $reiseverlauf)
{
echo "<p>" . $reiseverlauf . "</p><br/>";
}
?>
</div>
<?php
}
?>
<!--END Benutzerdefiniertes Feld: Reise-->
Alles anzeigen
Dies ist die Ausgabe über xampp (siehe Anhang: Bildausschnitt_custom field_Reise.png)
Der Bildausschnitt zeigt nur 14 Felder von insgesamt 21x Reise. Zudem komisch ist die zweimalige Ausgabe des Feldes §reise[21], obwohl definitiv nur einmal gesetzt.
Nun versuche ich das ganze über ein selbst geschriebenes wordpress plugin mittels einer Funktion zu einem shortcode umzuwandeln. Hier der Code:
function reiseverlauf_function( $atts)
{
$atts = shortcode_atts(
array(
$reise[0] = "Tag 1",
$reise[1] = "Tag 2",
$reise[2] = "Tag 3",
$reise[3] = "Tag 4",
$reise[4] = "Tag 5",
$reise[5] = "Tag 6",
$reise[6] = "Tag 7",
$reise[7] = "Tag 8",
$reise[8] = "Tag 9",
$reise[9] = "Tag 10",
$reise[10] = "Tag 11",
$reise[11] = "Tag 12",
$reise[12] = "Tag 13",
$reise[13] = "Tag 14",
$reise[14] = "Tag 15",
$reise[15] = "Tag 16",
$reise[16] = "Tag 17",
$reise[17] = "Tag 18",
$reise[18] = "Tag 19",
$reise[19] = "Tag 20",
$reise[20] = "Tag 21",
), $atts );
return $atts();
}
add_shortcode( 'Reiseverlauf' , 'reiseverlauf_function');
Alles anzeigen
Danach habe ich erst einmal das Plugin vom Visual Composer abgestellt, weil dort die Shortcodes noch in einem Shortcode Mapper registriert werden müssen. (Damit setze ich mich aber erst auseinander, wenn ich diese Hürde geschafft habe.)
Nach Abschaltung des VC Plugins habe ich im Wordpress Editor den Shortcode wie folgt eingegeben: [Reiseverlauf].
Aber nichts zu machen, die Seite zeigt weiterhin munter die Auflistung des Arrays an.
Hat irgend jemand vielleicht eine Idee, was ich falsch mache? Bzw. gibt mir Tipps, welche Herangehensweise die richtige ist.
Ich fühle, die Lösung ist zum Greifen nahe...
Vielen Dank im Voraus und viele Grüße
Putzi200