2009-06-22 6 views
2

Um Variablen in Funktionen übergeben, ich habe die folgende (wie andere Leute, die ich bin sicher):Wie Wordpress ähnliche Funktionen in PHP erstellen?

function addNums($num1, $num2) 
{ 
    $num1 + $num2; 
} 

addNums(2, 2); 

Meine Frage ist, wie würde ich eine Funktion strukturieren wie Wordpress zu handeln:

wp_list_categories('title_li='); 

Im Wesentlichen suche ich nach einer Möglichkeit, ein Schlüssel/Wert-Paar in meinen Funktionen zu erstellen. Jeder Rat wird geschätzt.

+0

Suchen Sie etwas wie "return $ array [$ param1] = $ param2;"? Entschuldigung, kein WordPress-Experte .. Btw. Ich würde vorschlagen, jedem Parameter einen eindeutigen Namen zu geben! – merkuro

+0

Ich weiß nicht, ob das addNums Beispiel würde richtig funktionieren ... – alex

+0

Hier ist ein Link zu der API für wp_list_categories() http://codex.wordpress.org/Template_Tags/wp_list_categories – merkuro

Antwort

2

Sie parse_str verwenden können Sie die Zeichenfolge für Argumente zu analysieren. Die schwierige Sache ist, dass Sie vielleicht nicht zulassen wollen, dass alle Parameter übergeben werden. Hier ist ein Beispiel, das nur bestimmte Parameter erlaubt, wenn sie übergeben werden.

Nur im folgenden Beispiel foo, bar und valid wäre erlaubt.

function exampleParseArgs($arg_string) { 
    // for every valid argument, include in 
    // this array with "true" as a value 
    $valid_arguments = array(
     'foo' => true, 
     'bar' => true, 
     'valid' = true, 
    ); 
    // parse the string 
    parse_str($arg_string, $parse_into); 
    // return only the valid arguments 
    return array_intersect_key($parse_into,$valid_arguments); 

} 

baz wird fallen gelassen werden, da sie nicht in $valid_arguments aufgeführt ist. Also für diesen Aufruf:

print_r(exampleParseArgs('foo=20&bar=strike&baz=50')); 

Ergebnisse:

Array 
(
    [foo] => 20 
    [bar] => strike 
) 

Zusätzlich können Sie die Wordpress Source code here und natürlich sehen, indem es von wordpress.org herunterzuladen. Sieht so aus, als würden sie etwas sehr ähnliches tun.

+0

Perfekt! - Vielen Dank –

Verwandte Themen