Dynamische URL und leiten Sie die Daten an einen iframe weiter

Ich habe eine WordPress-Marketing-Site ( www.example.com ) und eine Backend-App-Site ( app.example.com ). Was ich versuche zu tun, ist dies: wenn ein Body zur URL geht:

 www.example.com/profile/<> 

Ich möchte eine Seite erstellen, die meist generischen Inhalt und einen iframe mit src

 my.example.com/profile/<> 

Jetzt habe ich 2 Probleme:

  1. Kann eine Seite eine dynamische URL haben? Wenn ich versuche, die URL auf www.example.com/profile/*/ , wird sie zu www.example.com/profile/
  2. Wenn ich die Seite zum functionieren bringe, wie kann ich profileId an den iframe src ?

Kann mir bitte jemand ein Plugin / eine Lösung empfehlen?

Solutions Collecting From Web of "Dynamische URL und leiten Sie die Daten an einen iframe weiter"

Schritt 1:

Erstellen Sie eine Seite mit dem Slug “Profil” in Ihrem WordPress Dashboard.

Schritt 2

Verwenden Sie diese function, um profileId var.

 add_filter('query_vars', 'wp233_query_vars'); function wp233_query_vars( $query_vars ){ $query_vars[] = 'profileId'; return $query_vars; } 

Und fügen Sie eine Rewrite-Regel zu WordPress wie folgt hinzu:

 add_action( 'init', 'wp233_add_rewrite_rules' ); function wp233_add_rewrite_rules() { add_rewrite_rule( '^profile/([^/]+)?$', 'index.php?pagename=profile&profileId=$matches[1]', 'top'); } 

Schritt 3

Jetzt können Sie wie folgt auf die Abfragevariable zugreifen:

 http://yoursite.com/profile/xxxx/ 

Nun sollten Sie in der Lage sein, die profileId zu extrahieren, indem Sie eine geeignete Aktion einbinden

Beispiel

 add_action( 'template_redirect', 'wp233_get_profile_id' ); function wp233_get_profile_id() { $profile_id = get_query_var( 'profileId' ); if ( $profile_id ) { // do some magic work. you now captured the profile id // which was passed to url.com/profile/{ID}/ -> here. } } 

Dies sollte nicht zu schwierig sein. Zuerst müssen Sie den < > Teil der aktuellen Seite / Post erhalten. Wie man es bekommt, hängt davon ab, was es ist und wo in Ihrer Vorlage Sie es nennen. Wenn zum Beispiel “profile” ein benutzerdefinierter Post-Typ ist, dann ist < > der Slug des < > , den Sie so wahrscheinlich in single.php :

 $profileID = get_post_field( 'post_name', get_post()); 

Der Rest ist einfach PHP:

 echo '