Marcus
Themenersteller
Guru (223 Beiträge)
Ausgabe eines benutzerdefinierten Feldes
Hallo zusammen!
Ist es möglich, den durch Komma getrennten Inhalt eines benutzerdefinierten Feldes auch getrennt ausgeben zu lassen
Beispiel für das Local Seo (Anregung von Matthes):
Name des Benutzerdefinierten Feldes ist Ort, die durch ein Komma getrennten Werte des Feldes sind Ortsname und Koordinaten.
Mir schwebt vor, das im Quelltext so auszugeben:
Die einfache Ausgabe des meta tag geo.placename funktioniert schon. Nur wie ich das mit den Koordinaten mache, da blicke ich momentan noch nicht so ganz durch
Das Regional-Magazin für Lüneburg und die Region:
salzsau-panorama.de
matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
Prinzipiell mit explode(), das trennt einen String anhand eines Trennzeichens und gibt ein Array mit den einzelnen Teilen zurück.
Make Seitenreport great again!
Hallo zusammen!
Ich versuche es gerade mit folgendem Code:
function Placename() {
global $id, $post_meta_cache;
$koordinate = get_post_custom_values(\'Ort\');
if ($koordinate) {
$koordinate = explode(\',\', $koordinate);
$Ort = "$koordinate[0]";
$Grad = "$koordinate[1]";
foreach ($koordinaten as $Grade) {
echo \'""\';
}
}
}
bekomme dabei aber Fehlermeldungen ausgeworfen:
[html]content="
Warning: explode() expects parameter 2 to be string, array given
in /.../plugins/toolbox/modules/placename.php on line 20
Warning: Invalid argument supplied for foreach() in /...
/plugins/toolbox/modules/placename.php on line 23
" />
<meta name="geo.position" content="
Warning: explode()
expects parameter 2 to be string, array given in
/.../plugins/toolbox/modules/placename.php on line 20
Warning: Invalid argument supplied for foreach() in
/.../plugins/toolbox/modules/placename.php on line 23
" />[/html]
Das Regional-Magazin für Lüneburg und die Region:
salzsau-panorama.de
Hallo,
du vermischt da so einige Variablen, versuch es mal mit:
$koordinate = \'Ort, Position\';
if (isset($koordinate))
{
$koordinaten = explode(\',\', $koordinate);
echo \'
\';
}
Gruß Tobi
Mein Blog
Hallo tobi!
So ist das, wenn man man ein Noob in php ist
Im Benutzerdefinierten Feld Ort ist folgendes eingetragen: Ort, Geo-Koordinaten
Mit Deinem Code gibt er jetzt als Meta-Tag aus Ort und Position (jeweils als Wort), nicht aber z. B. Lüneburg und 53.246421;10.411518
Was muss ich da jetzt ändern?
Gruß und Danke
Das Regional-Magazin für Lüneburg und die Region:
salzsau-panorama.de
matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
Das gibt es aus, weil er die Variable $koordinate so gefüllt hat, sie seine Zeile 1.
Das musst Du natürlich wieder durch folgendes ersetzen:
$koordinate = get_post_custom_values(\'Ort\');
Make Seitenreport great again!
Hallo zusammen!
Da hätte ich auch selbst drauf kommen können.
Nun schaut mein Code so aus:
function Placename() {
global $id, $post_meta_cache;
$koordinate = get_post_custom_values(\'Ort\');
if (isset($koordinate))
{
$koordinaten = explode(\',\', $koordinate);
echo \'
\';
}
}
Die Ausgabe erfolgt mittels
<?php if (function_exists(\'Placename\')) { Placename(); } ?>
Und es erscheint folgende Fehlermeldung
Warning: explode() expects parameter 2 to be string, array given in /www/htdocs/w00e075c/salzsau/wp-content/plugins/toolbox/modules/placename.php on line 22 und betrifft diese Zeile:
$koordinaten = explode(\',\', $koordinate);
Wie kann ich das entsprechend umwandeln?
Das Regional-Magazin für Lüneburg und die Region:
salzsau-panorama.de
matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
Wenn ich
$b = array($Koordinate);
$results = print_r($b);
eingebe, erhalte ich Array ( [0] =>
Das Regional-Magazin für Lüneburg und die Region:
salzsau-panorama.de
matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
Von $b sprach niemand, woher hast du das?
Und $koordinate schreibst Du sonst klein. In dem Beispiel ist die Variable groß geschrieben.
$koordinate = get_post_custom_values(\'Ort\');
print_r($koordinate);
Make Seitenreport great again!
Hallo Matthes!
Dummerweise im Internet geklaut, wobei ich gestern abend eh nix mehr gerallt habe.
So, wenn ich jetzt im Benutzerdefinierten Feld nur Ort eingebe, erscheint die Fehlermeldung mit explodes und den erwarteten 2 Parametern. Die Ausgabe ist dann z. B. array ( 0 => \'Lüneburg,53.246421;10.411518\', )
Gebe ich im BF aber Ort, Position als Name an, gibt es keine Fehlermeldung und die Ausgabe ist NULL
Das Regional-Magazin für Lüneburg und die Region:
salzsau-panorama.de
Das Seitenreport Forum hat aktuell 5276 Themen und 36111 Beiträge.
Insgesamt sind 48364 Mitglieder registriert.
Beitrag erstellen
EinloggenKostenlos registrieren