it-swarm.com.de

Welche Wordpress-Funktion zum Abrufen von Metawerten mithilfe von Metatasten verwenden?

Dies ist der Code:

if ($keys = get_post_custom_keys()) {
    foreach ((array) $keys as $key) {
        $keyt = trim($key);
        if (is_protected_meta($keyt, 'post')) {
            continue;
        }

        $values = array_map('trim', 
        get_post_custom_values($key));
        $value = implode($values, ', ');
        echo " key : ".$key;
        echo " value : ".$value;
    }
}

Das Ergebnis:

keyyy : nova_price valueee : $9 

Meine Frage: Gibt es eine spezielle Wordpress-Funktion, um den Meta-Wert $9 mit dem Meta-Schlüssel nova price zu erhalten?

Ich habe versucht, diese WP -Funktion zu verwenden:

echo" get_post_meta: "; get_post_meta(the_ID(), 'nova_price', true);

aber das Ergebnis ist:

get_post_meta: 1872 

Jede Hilfe wäre sehr dankbar. Danke vielmals.

1
Ray Macz

Da die in den Kommentaren vorgeschlagene Lösung für Sie funktioniert hat, werde ich sie hier als Antwort veröffentlichen.

Sie müssen die Funktion the_ID() in Ihrem get_post_meta(the_ID(), 'nova_price', true);-Aufruf ersetzen.

Denn the_ID() gibt direkt die Beitrags-ID aus, die dann anstelle des Metas für Sie gedruckt wird.

Der richtige Code wäre: get_post_meta( get_the_ID(), 'nova_price', true) Dies sollte Ihnen den Wert für nova_price für den angegebenen Beitrag liefern.

0
sven

Eigentlich war es wirklich mein blöder Fehler. Irgendwie war ich zu sehr auf get_post_meta () fokussiert. Als ich die WP Codereferenz überprüfte, wurde mir klar, dass es sich nicht um das Problem des Wrappers handelte get_post_meta(), als dies funktionierte:

get_metadata('post', 1874, 'nova_price', true);

Das Problem ist also folgendes:

echo" get_post_meta: ";  get_post_meta(get_the_ID(), 'nova_price', true);

Es hätte so sein sollen:

echo" get_post_meta: ". get_post_meta(get_the_ID(), 'nova_price', true);

Ein kleines Problem, das ich übersehen habe. Zumindest kenne ich jetzt die 2-Funktionen beim Abrufen des Werts per Metaschlüssel in WP. Nochmals vielen Dank für die Mühe und Hilfe.

0
Ray Macz