0

Wordpressサイトのサブページにある単一ページアプリケーションのリダイレクトルールに問題があります。私はこの指示に従っており、問題はまだ解決しています。https://wordpress.stackexchange.com/questions/193479/redirect-sub-pages-to-parent-without-changing-urlURLを変更せずにWordPress URLを親ページにリダイレクト

サブページは、営業所のカスタムポストタイプです。誰かがhttp://business.com/hollywood-ca/contactを訪れたとき、それはhttp://business.com/hollywood-ca/を引き上げる必要がありますが、URLは同じままである必要があります(URLの連絡先部分は、各場所ページの1ページのVue.jsアプリの一部です。ここに私のコードは次のとおりです。

//This function hooks in on post save 
function add_location_deep_links($post_id, $post, $update) { 

    $post_type = get_post_type($post_id); 

    if ("location" != $post_type) return; // If this isn't a 'location' post, don't update it. 

    $slug = $post->post_name; //hollywood-ca 

    add_rewrite_rule(
    "^{$slug}/[A-Za-z]", //regex prevents trying to redirect the /hollywood-ca/ page 
    "index.php?page_id={$post_id}", //redirect to post 
    'top' // take precedence over other redirects 
); 

    flush_rewrite_rules(); 
} 

問題は、私はhttp://business.com/hollywood-ca/contactを訪問したときにページが接触タブに移動から私のシングルページアプリを防ぎhttp://business.com/hollywood-ca/にリダイレクトされます。

私はURLをbusiness.com/location/hollywood-caからクリーナーbusiness.com/hollywood-caに変更する機能をいくつか書いています。私はこれらの機能を使わずにこれらの問題をテストしていますが、まだ問題があるので、関連しているとは思いません。

答えて

1

私はWordpress Exchangeで答えを得ました。 index.phpに、私のカスタム投稿タイプのカスタムクエリ変数をpage_idの代わりにクエリする必要がありました。

add_rewrite_rule(
    "^{$slug}/", 
    "index.php?location={$slug}", //changed query var to location 
    'top' 
); 
関連する問題