wake-up-neo.com

Die Verknüpfung von site_url und string funktioniert nicht

Ich versuche, mein site_url und eine Zeichenfolge zu verketten, aber es funktioniert nicht. Das mache ich:

$myurl = site_url();
var_dump($myurl); 

$url = "https" . $myurl . "/inbox/?fepaction=viewmessage&fep_id=" . $inserted_message->ID;

var_dump($url); die;

Die Ausgabe sieht folgendermaßen aus:

string (31) "//zgp.mydomain.be" string (78) "https:/inbox /? fepaction = viewmessage & fep_id = 4813"

Wie Sie sehen, wird es nicht zusammengeführt. Wie kann das sein?

1
nielsv

Ohne genau zu wissen, was Sie tun möchten, möchten Sie offenbar Abfragevariablen an die URL anhängen. WordPress verfügt über Methoden, um dies ohne manuelle Verkettung von Zeichenfolgen richtig zu handhaben.

Weitere Informationen finden Sie in der Dokumentation zu add_query_arg(): https://developer.wordpress.org/reference/functions/add_query_arg/

Mit dieser Funktion können Sie die URL neu erstellen und Abfragevariablen an die URL-Abfrage anhängen. Es gibt zwei Möglichkeiten, diese Funktion zu verwenden. entweder ein einzelner Schlüssel und Wert oder ein assoziatives Array.

Verwenden eines einzelnen Schlüssels und Werts:

add_query_arg( 'key', 'value', 'http://example.com' );

Würde http://example.com/?key=value erstellen

Verwenden eines assoziativen Arrays:

add_query_arg( array(
    'key1' => 'value1',
    'key2' => 'value2',
), 'http://example.com' );

Dies würde http://example.com/?key1=value1&key2=value2 erzeugen

1
jdm2112

Was Sie suchen, ist home_url() .

Dadurch wird die Adresse der Site und nicht der Pfad zu Ihrer WP -Installation zurückgegeben.

0
helle

Manchmal sind die einfachsten Lösungen die besten ...

Schauen Sie sich site_url reference an.

Es werden zwei Parameter benötigt:

$ path (string) (optional) Pfad, der an die Site-URL angehängt wird. Standardeinstellung: Keine

$ scheme (string) (optional) Kontext für das Protokoll für die zurückgegebene URL. Durch das Festlegen von $ scheme wird der Standardkontext überschrieben. Zulässige Werte sind "http", "https", "login", "login_post", "admin" oder "relative". Voreinstellung: null

Wie Sie sehen, brauchen Sie nicht den ganzen Code ...

Sie können einfach verwenden:

$url = site_url('/inbox/?fepaction=viewmessage&fep_id=' . esc_url($inserted_message->ID), 'https');
0