2016-06-21 10 views
0

Ich habe einen einfachen WordPress-Shortcode, der ein unerwartetes Ergebnis erzielt. Dies ist die eine, die nicht funktioniert:Ich denke, dass diese Variable referenziert?

$this_post_id = do_shortcode('[cred_post_parent get="id"]'); 
$testString = $this_post_id; 
$parent_id = wpcf_pr_post_get_belongs($testString, 'wa-listing'); 
$variableType1 = gettype($testString); 
$variableType2 = gettype($this_post_id); 
$variableType3 = gettype($parent_id); 
return $variableType1.': '.$testString.' | '.$variableType2.': '.$this_post_id.' | '.$variableType3.': '.$parent_id; 

Dies gibt zurück: string: 468 | Zeichenfolge: 468 | boolean:

Wenn ich hart-Code im Wert für $ teststring in der zweiten Zeile wie folgt:

$testString = '468';

Das Ergebnis ist: string: 468 | Zeichenfolge: 468 | string: 56

Die letzte Variable gibt jetzt zurück, was ich brauche.

Mein Verdacht ist, dass die Variable $ this_post_id auf das Objekt im Shortcode verweist, aber es gelingt mir nicht, dies zu umgehen.

+0

Verwenden Sie 'var_dump ($ variable)' oder 'debug_zval_dump ($ variable)', um den Inhalt, den Typ und (unter Verwendung des letzteren) den Refcount einer Variablen zu sehen. – Sven

Antwort

0

Vielleicht ist es eine gute Idee, mehr über die Funktionsfunktion do_shortcode aus der offiziellen Dokumentation zu lesen - https://developer.wordpress.org/reference/functions/do_shortcode/ und zu verstehen, was es zurückgibt und heiß es in Ihrer Situation zu verwenden?

In Ihrem Fall do_shortcode funktioniert nicht richtig - returnd vollständigen Zeichenfolge, die Sie als param geben '[cred_post_parent get = "id"]', so

$parent_id = wpcf_pr_post_get_belongs($testString, 'wa-listing'); 

false zurück und

$variableType3 = gettype($parent_id); 

gibt Boolean zurück, so funktioniert Code einwandfrei, das Problem in der Logik. Das Problem, wie Sie anrufen

Versuchen Sie, mehr über diese Funktion zu lesen und welche Params sie benötigen, bekommen ihre Arbeit erledigt.

Hilft es?

Verwandte Themen