Intereting Posts

Динамический URL-адрес и передача данных в iframe

У меня есть сайт маркетинга WordPress ( www.example.com ) и сайт приложения backend ( app.example.com ). То, что я пытаюсь сделать, это следующее: если какое-то тело переходит к URL-адресу:

 www.example.com/profile/<<profileId>> 

Я хочу создать страницу с главным образом общим контентом и одним iframe с src

 my.example.com/profile/<<profileId>> 

Теперь у меня есть 2 проблемы:

  1. Может ли страница иметь динамический URL? Если я попытаюсь установить URL-адрес на www.example.com/profile/*/ он станет www.example.com/profile/
  2. Если мне нужно, чтобы страница работала, как передать profileId в iframe src ?

Может кто-нибудь, пожалуйста, направить меня к плагину / решению?

Шаг 1:

Создайте страницу с профилем slug в панели инструментов WordPress.

Шаг 2

Используйте эту функцию для регистрации profileId var.

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

И добавьте правило перезаписи в wordpress следующим образом:

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

Шаг 3

Теперь вы можете получить доступ к запросу var следующим образом:

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

Теперь вы должны иметь возможность извлекать profileId, подключаясь к подходящему действию

пример

 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. } } 

Это не должно быть слишком сложно. Сначала вы должны получить часть <<profileID>> текущей страницы / сообщения. Как это получить, зависит от того, что это такое и где в вашем шаблоне вы его вызываете. Если, например, «профиль» является настраиваемым типом сообщения, то <<profileID>> – это пул сообщения, который вы можете получить таким образом, предположительно в single.php :

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

Остальное – простой PHP:

 echo '<iframe src="my.example.com/profile/' . $profileID '/></iframe>'; 

Теперь у вас есть страница с iframe и вы хотите отобразить ее без пули. Ответ на этот вопрос здесь .