2016-03-31 13 views
2

Geçtiğimiz hafta içinde aradığım bu görevin nasıl gerçekleştirileceğine dair biraz rehberliğe ihtiyacım var. Bunun bir yerde çözüldüğünü hissettim ama bütün hafta aradıktan sonra onu bulamıyorum.WordPress - her URL/permalink'in başına% lang% ekle

Özel posta türleri, sayfalar ve yazıya sahip normal kategorileri kullanan bir site yapıyorum. Siteye Google çevirisini entegre ettim ve bu, tıklama etkinliklerinde jQuery'yi kullanarak ve siteyi ziyaret ettiğinizde seçilen dili yükleyerek özel bayraklarmla sorunsuz çalışıyor.

Ancak örneğin benim URL'ler başlangıcına 2 karakter lang kod eklemem gerekir: - /% lang% /% category% /% postname% - Bu benim kalıcı bağlantılar yapı

domain.com/fr/page, 
domain.com/fr/category, 
domain.com/fr/category/postname, 
domain.com/fr/custom_post_type 

olduğunu/

Bu, işlevlerim dosyamda, dolayısıyla permalinks yapısında% lang% var.

function add_lang_tag() { 
    add_rewrite_tag('%lang%', '([a-z]{2})'); 
} 
add_action('init', 'add_lang_tag', 10, 0); 

Normal kategoriler ve yayınlar için çalışır, ancak sayfalar, arama veya özel posta türleri için çalışmaz.

Bu soru için, bu soru benim sorunuma ciddi bir şekilde yaklaştı - Wordpress add_rewrite_tag(), add_rewrite_rule(), and post_link() - Bu çözümle ilgili temel sorun, normal sayfalar için çalışmadığıdır.

Ayrıca, wordpress için kullanılabilen çok dilli eklentilerin tümünü denedim ve bunların hiçbiri benim göründüğüm basit gereksinimlerimle eşleşmiyor, eğer bu eklentiyi add_rewrite_tag aracılığıyla kolayca temin edebilirsem ve diğer birkaç kişi olabileceğini düşündüğüm peral kokularla karşılaştırabilirsem ondan yararlanın.

Okumak için teşekkürler.

cevap

0

Çok geç olabilir, ama yine de ben kullanıcının hala bu çözüm arıyorsanız kim bu veriyorum ---

add_action('init', 'custom_page_rules'); 

function custom_page_rules() { 
    global $wp_rewrite; 
    $wp_rewrite->page_structure = $wp_rewrite->root . '/%lang%/%pagename%'; 
}