it-swarm.com.de

So zeigen Sie den Wert benutzerdefinierter Felder auf der Seite an

Ich habe einen benutzerdefinierten Beitragstyp namens "Software", in dem verschiedene benutzerdefinierte Felder wie Untertitel, Preis, Screenshots, Download-Link usw. enthalten sind. Ich habe eine Funktion erstellt, die die Verwendung des tinyMCE-Bearbeitungsfensters für einige dieser benutzerdefinierten Felder ermöglicht. Ich habe versucht, diese Felder auf der Seite anzuzeigen, aber ohne Erfolg.

Die Methode, die ich benutze, ist die folgende:

<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>

Hier ist ein Link zur Seite.

Unter dem <hr/> auf der Seite befindet sich eine Liste aller erstellten Metas. Das EINZIGE der Felder, die angezeigt werden, ist "Preis" aus irgendeinem seltsamen Grund.

Hat jemand eine Idee, was ich vermisse?

15
dvmac01

Nun, Sie verwenden:

get_post_meta(get_the_ID(), 'subtitle', TRUE);

Sie sagen also zu Wordpress, dass der Meta-Wert des Feldes "Untertitel" und der zurückgegebene Wert im Zeichenfolgenformat vorliegen sollen. Siehe get_post_meta () docu .

Um alle Metadaten eines Posts zu erhalten, sollten Sie stattdessen die Funktion get_post_custom () verwenden. Zum Beispiel, wenn Sie sich in der Schleife befinden:

$custom = get_post_custom();
foreach($custom as $key => $value) {
     echo $key.': '.$value.'<br />';
}

Dadurch werden alle Metadaten des Posts zurückgegeben. Wenn Sie beispielsweise das Metafeld "Preis" überprüfen möchten:

if(isset($custom['price'])) {
    echo 'Price: '.$custom['price'];
}
15
cybmeta

verwenden Sie diesen Code, um Ihr Problem zu lösen.

$key_name = get_post_custom_values($key = 'Key Name');
echo $key_name[0];
2
prempal sharma