これは私の質問に対するフォローアップです。「 2つの異なるテンプレートをロードする2つの異なるURLを同じページに設定するにはどうすればよいですか? 」
Miloの回答(新しい書き換えエンドポイントの登録、エンドポイントが存在する場合は別のテンプレートの読み込み)を実装している場合、エンドポイントを含めるためにページ内のリンクをその場で書き換える方法(app-viewなど).
最初のエンドポイントが追加されるページは次のとおりです。 https://liquidchurch.com/messages/
書き換えエンドポイントとページテンプレートフィルタを使用するMiloの指示に基づくと、モバイルアプリから渡すURLは次のようになります。 https://liquidchurch.com/messages/app-view/
今度はこのページで私がシリーズの1つをつけることを言う、例えば:
https://liquidchurch.com/sermon-series/divine-direction/
問題は、これが通常のテンプレートでロードされ、特にモバイルビュー用に作成されたテンプレートではロードされないことです。それで、どういうわけか私はそれがapp-viewで表示されるべきであることをこのページに渡らなければなりません。そのため、個人のリダイレクト先となる実際のURLは次のようになります。
https://liquidchurch.com/sermon-series/divine-direction/app-view/
どのような方法でこれを達成することができますか?ありがとうございます。
他の答えのpage_link
フィルタと同じロジックでpage_template
フィルタを使うことができます。エンドポイントクエリvarが設定されている場合、ページへのリンクにはapp-view/
が追加されます。
function wpd_page_link( $link, $post_id ){
global $wp_query;
if( isset( $wp_query->query_vars['app-view'] ) ){
return $link . 'app-view/';
}
return $link;
}
add_filter( 'page_link', 'wpd_page_link', 10, 2 );