2017-09-06 7 views
1

私はaircraft-galleryという名前のページを持っています。このページのデータは正常に動作しています。ワードプレスの書き換えルールを使用してURLを変更する方法

私は?id変数にデータを送信し、私はそれも正常に動作している結果をデータベースにこのデータを送信するよりも、データがGET["id"]を使用していることを受けていますaircraft-gallery-classという名前の別のページを持っています。ここで

は、私は今、私の質問は簡単です

http://example.com/aircraft-gallery/VIP-Airliner 

を、私はこのURLに

http://example.com/aircraft-gallery/aircraft-gallery-class/?id=VIP Airliner 

を持っていると私はこのURLをしたいID

public function view_air_crafts_by_class(){ 
     //var_dump(get_query_var('id')); //working fine 
     //die(); 
     return $this->air_craft_model->get_air_craft_by_class($_GET['id']); 
    } 

を取得するために、WordPressの機能の私のコントローラであり、私のfunctions.phpファイルでこれらのコード行を使用してURLを変換していますが、動作していません、私は分かりません

add_filter('query_vars', 'wpa5413_query_vars'); 
function wpa5413_query_vars($query_vars) 
{ 
    $query_vars[] = 'id'; 
    return $query_vars; 
} 

add_action('init', 'wpa5413_init'); 
function wpa5413_init() 
{ 
    add_rewrite_rule(
     'aircraft-gallery-class/([^/]+)/?', 
     'index.php?pagename=aircraft-gallery-class&id=$matches[1]', 
     'top'); 
} 

私はすでにコミュニティから提案された多くのコードを試しましたが、うまくいきません。

ご協力いただければ幸いです。私はfunctions.phpファイルを更新するたびにパーマリンクの保存をクリックしています。おかげ

+0

コードの下に試してみてください? – Und3rTow

+1

Permalinkの設定でURLの目的のためにスクリプトを変更したときにボタンの変更を保存するボタンをいつでも押す –

+0

正規表現が無効である可能性があります。https://regex101.com/r/n7Tcuz/1 - 完全にはわかりませんがWPがそれをどう処理するか – Und3rTow

答えて

0

はあなたのリライトを追加した後、書き換えルールをフラッシュしました

add_filter('query_vars', 'wpa5413_query_vars'); 
function wpa5413_query_vars($query_vars) 
{ 
$query_vars[] = 'id'; 
return $query_vars; 
} 

add_action('init', 'wpa5413_init'); 
function wpa5413_init() 
{ 
add_rewrite_rule(
    'aircraft-gallery-class/([^/]+)/?', 
    'index.php?pagename=aircraft-gallery-class&id=$matches[1]', 
    'top'); 
flush_rewrite_rules(); 
} 
+0

が動作しない理由:わからない理由: –

+0

私は4日後から解決策を見つけていますしかし、まだ問題に直面して私の質問は簡単です私はちょうどURLを変更したい:( –

関連する問題