2016-04-14 26 views
0

çalışmak için add_rewrite_rule() alamıyorum WordPress web sitemde bir sayfaya devam eden bir yeniden yazma kuralı almaya çalışıyorum.WordPress -

Ben özel bir şablon ile son adlı bir sayfa, var ve bir kimliği vardır. Şu anda

, ben şöyle sorgu dizesi dayalı birçok dinamik istekleri yapıyorum:

example.com/latest/?type=instagram

yerine ise istiyorum ne :

example.com/latest/instagram/

Şimdiye kadar denediğim şey.

burada bulduğu rehber takip ediyordu

function custom_rewrite_tag() { 
    add_rewrite_tag('%type%', '([^&]+)'); 
} 

add_action('init', 'custom_rewrite_tag', 10, 0); 

function custom_rewrite_rule() { 
    add_rewrite_rule('^latest/([^/]*)/([^/]*)/?','index.php?page_id=10&type=$matches[1]', 'top'); 
} 

add_action('init', 'custom_rewrite_rule', 10, 0); 

functions.php: Beni hayat için https://codex.wordpress.org/Rewrite_API/add_rewrite_rule

, ben bu işe alınamıyor. Bu sadece benim 404 sayfama iletir veya tür parametresiyle eşleşen türünde başlığına sahip bir gönderi bulmaya çalışır ve beni yönlendirir.

Neyi yanlış yaptığımla ilgili ipuçları var mı? Permalinkleri de yeniledim.

+0

Yapmaya çalıştığınız şey için, aslında [add_rewrite_endpoint] (https://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint) istediğiniz –

+0

@cale_b Teşekkürler - bunu kullanan tüm örnekler? –

cevap

0

Anlaşıldı, yeniden yazma kuralında ek bir yol var.

yerine: '^latest/([^/]*)/([^/]*)/?' olmalıydı: '^latest/([^/]*)/?' aşağıdaki

functions.php Benim yeni çalışma fonksiyonu olarak:

function custom_rewrite_rule() { 
    add_rewrite_tag('%type%', '([^&]+)'); 
    add_rewrite_rule('^latest/([^/]*)/?', 'index.php?page_id=10&type=$matches[1]', 'top'); 
} 

add_action('init', 'custom_rewrite_rule', 10, 1); 

Umut bu gelecekte birisi yardımcı olur!