Kann nicht wirklich den Dreh raus. Ich versuche, einen Wordpress-Shortcode zu erstellen, der Werte aus einem Array in einer anderen Datei abruft. Was ich versuche zu erreichen ist, dass der Shortcode 'myshortCode valueFromKey' abhängig vom Schlüssel funktioniert.Wordpress Shortcode Array unbenannt Attribut
Dies ist meine Short Funktion in functions.php
function someCode($opts) {
require_once(get_stylesheet_directory() . '/assets/php/array.php');
return $array[$opts[0]];
}add_shortcode('myshortCode', 'someCode');
Und das ist das Array in array.php
$array = array(
'key1' => 'a string respons...',
'key2' => '...from external API'
);
Aber egal, was ich tun kann ich nur den ersten Schlüsselwert aus dem Array. z.B.
'myshortCode Key1'
'myshortCode key2'
nur Rückkehr 'myshortCode Key1'
I planen, diese auf der Verwendung Respons Daten von einer externen API anzuzeigen. Alle diese Shortcodes befinden sich also in verschiedenen Abschnitten auf derselben Seite.
Dank für den Versuch, aber es funktioniert nicht. Alle Pfade sind korrekt und keine Tags (d. H. Php) sind unvollständig. Es gibt etwas in der Syntax, das ich nicht verstehe. Vielleicht muss ich klären. Ich werde den Shortcode an mehreren Stellen auf der gleichen Seite verwenden, wo die Attribute entscheiden sollten, welchen Inhalt ich bekommen soll (d. H. Ich kann [$ opt [0]] nicht einfügen). Hätte meine Frage vielleicht nicht besser geklärt. Ich muss einen anderen Inhalt als das Array bekommen, basierend auf dem zurückgegebenen Attribut im shortcode (zB gibt 'askortcode key1' den Wert von key1 im Array zurück. Ich glaube, dass sich meine Rückgabe ändern muss. – axelra82
Also wenn du [myshortCode "verwenden willst key1 "] sollte dann" eine Zeichenkette respons ... "angezeigt werden und wenn Sie [myshortCode" key2 "] verwenden, erhalten Sie" ... from external API "return. (Sie werden $ opts [0]) verwenden Funktionalität funktioniert einwandfrei auf meiner Seite. –
Sorry nur überprüft, und wenn der Shortcode zweimal verwendet wird dann brechen. Lassen Sie mich weiter überprüfen. –