it-swarm.com.de

Wie kann man einen Wert über get_option abrufen, wenn der option_value in einem mehrdimensionalen Array gespeichert ist?

Ich versuche festzustellen, wie benutzerdefinierte Werte aus wp_options abgerufen werden, wenn die Werte in einem einzelnen Optionsarray gespeichert sind.

Ich habe zum Beispiel die folgenden Daten in wp_options für option_value, wobei option_name = "my_category_fields_option". Der i: n-Wert stellt die Kategorie-ID der Kategorie dar, die die benutzerdefinierten "my_title" -Daten enthält.]

a: 2: {i: 10; a: 1: {s: 8: "my_title"; s: 48: "Iced Tea: Eine gute Wahl für kühlende Erfrischung";} i: 20; a: 1: {s: 8: "my_title"; s: 30: "Schwarzer Tee ist gut für die Seele";}}

Wie kann ich den Wert für "my_title" (sollte "Hello World" sein) abrufen, wenn ich die Kategoriearchivseite für diese Kategorie betrachte?

3
Scott B
$term_id = get_query_var('cat'); // the current category ID

$my_fields = get_option('my_category_fields_option');
echo $my_fields[$term_id]['my_title']; // the title corresponding to the current category

(Angenommen, Sie sprechen über Beispiele für das Hinzufügen benutzerdefinierter Felder zum Kategorie-Editor? )

5
onetrickpony

Wenn Sie ein Array an update_option übergeben, wird es automatisch serialisiert. Sie können sie später wieder in ein Array wie dieses abrufen.

$tempoptions = get_option("plugin-options");
if (!empty($tempoptions)) {
    foreach ($tempoptions as $key => $option)
        $options[$key] = $option;
}

dann mach so etwas wie var_dump ($options) das zeigt dir das gesamte array.

Ich glaube, sie verwenden die Funktionen maybe_serialize/maybe_unserialize/is_serialized aus dem Codex, aber ich habe mich nie wirklich damit befasst. Hab sie gerade gefunden. http://codex.wordpress.org/Function_Reference/maybe_serialize

2
Patriek