Fencer04の提案のおかげで、私は自分の問題の解決策を見つけることができました。私はこのページを見つけました:https://developer.wordpress.org/reference/functions/add_rewrite_rule/ここで私は十分に自分の問題に近づいた例を見つけました。 functions.phpでそう
:
function custom_rewrite_rule(){
$page_id = 318; // replace this ID with the page with the iFrame template
$page_data = get_post($page_id);
if(!is_object($page_data)){
return; // all other pages don't have to support custom deeplinks
}
// catches deeplinks 1 level deep, i.e.: /members/profile
add_rewrite_rule(
$page_data->post_name . '/([^/]+)/?$',
'index.php?pagename=' . $page_data->post_name . '&memberspage=$matches[1]',
'top'
);
// catches deeplinks 2 levels deep, i.e.: /members/profile/edit
add_rewrite_rule(
$page_data->post_name . '/([^/]+)/([^/]+)/?$',
'index.php?pagename=' . $page_data->post_name . '&memberspage=$matches[1]&members_param=$matches[2]',
'top'
);
// catches 3 levels deep, i.e. /members/profile/edit/confirm
add_rewrite_rule(
$page_data->post_name . '/([^/]+)/([^/]+)/([^/]+)/?$',
'index.php?pagename=' . $page_data->post_name . '&memberspage=$matches[1]&members_param=$matches[2]&members_param2=$matches[3]',
'top'
);
}
add_action('init', custom_rewrite_rule);
次の私は、新しいquery_vars用のフィルタを追加しました:
add_filter('query_vars', function($vars) {
$vars[] = "memberspage";
$vars[] = "members_param";
$vars[] = "members_param2";
return $vars;
});
[マイテンプレートiframe.phpに、私はそうのように、これらのパラメータにアクセスすることができます:
http://www.domain.com/members/loginに行くと、私には正しい静的WPページが表示されますページhttp://members.domain.com/login/を表示しているiframe内にあります。
これは機能しませんでしたが、正しい方向に私を設定しました。私は元の質問を私が見つけた解決策で更新します。ありがとう。 – gillesv
私はあなたが私の答えを使ったと確信しています。あなたが作成したかったURLをすべて持っていなかったので、私は決してあなたの正確な答えを作り出すことができませんでした。私は少なくとも私の答えを投票する必要があると思う。 – Fencer04
私の最終的な答えにはかなり大きな違いがあります。私が指定したコンテキストで試してみると、あなたのコードは私にとってはうまくいきませんでした。私のような人が解決策を探してこのページに来たら、あなた自身の簡単な返答は十分ではないでしょう。私は正しい方向に私を置くためにあなたに信用を与えました。とにかく、気になる点がある。 – gillesv