2016-07-24 16 views

cevap

5

Bunu başarmak için, 2 şeyler yapmak gerekir:

  1. varsayılan WordPress kanonik yönlendirme devre dışı bırakın - bu karşılaştığında bu gereklidir, WordPress hep /2/ sayfaya yönlendirme çünkü URL veya sorgu kodlarında sayfa parametresi.

  2. Özel başlığı, sayfanızın ikinci sayfasına yönlendirmek için özel bir yeniden yazma kuralı ekleyin - bu, istediğiniz bağlantı biçimine izin vermek için gereklidir.

    // Removes the canonical redirection 
    remove_filter('template_redirect', 'redirect_canonical'); 
    
    // Add custom rewrite rules 
    add_action('init', 'my_add_custom_rewrite_rules'); 
    function my_add_custom_rewrite_rules() { 
        // Slug of the target page 
        $page_slug = 'heartbreaking-photos'; 
    
        // Page number to replace 
        $page_num = 2; 
    
        // Title you wish to replace the page number with 
        $title = 'custom-string'; 
    
        // Add the custom rewrite rule 
        add_rewrite_rule(
         '^' . $page_slug . '/' . $title . '/?$', 
         'index.php?pagename=' . $page_slug . '&page=' . $page_num, 'top' 
        ); 
    } 
    

    üç yapılandırmak isteyebilirsiniz şeyler ya vardır:

    kod açısından

, bu (bu, sadece yerel olarak çalışan bir çözüm test ettik edilir) gerekenler burada değiştirin:

  1. $page_slug - bu heartbreaking-photos
  2. $page_num senin durumunda, sayfanızın sümüklüböcek olduğunu - sayfa numaranızın numarası, bu durumda 2
  3. $title - sayfa numaranız yerine kullanmak istediğiniz başlık 2.

Kodu istediğiniz gibi değiştirebilir ya da buna benzer daha fazla vakayı kapsayacak şekilde kopyalayabilirsiniz.

DÜZENLEME

Önemli: kodu kullandıktan sonra, Ayarlar> Kalıcı Bağlantılar gidin ve "Değişiklikleri Kaydet" butonuna tıklayın. Bu, yeniden yazma kurallarınızı yeniden oluşturacak ve çözümün çalışması için gereklidir.

Bu yardımcı olur umarım. Herhangi bir sorunuz olursa haberim olsun.

+0

Cevabınız için teşekkürler, çözümünüzü yerel olarak denedim ancak işe alamadım. Emin olmak için iki farklı tema denedim. Kodu 'functions.php'nin başında ve sonunda eklemeye çalıştım. Ayrıca post sülük değiştirmek için emin olun ... benim makinede başka ne farklı olabilir hangi iş bu çalışma önlemek için ..? – Delashmate

+0

Cevabımı güncelledim, küçük bir şeyi kaçırdığım için. Kuralları yeniden yazmak için değişiklikler yaptıktan sonra (bu kodun yaptığı gibi), Ayarlar> Permalinks'e gitmeli ve "Değişiklikleri Kaydet" düğmesine tıklamanız gerekir. Bu, değişikliklerin gerçekte işe yaramasını sağlayacaktır, çünkü yeniden yazma kuralları yeniden oluşturulacaktır. Bunu denediğinizde sorun yaşıyorsanız bildirin. –

0

Tamam sayfa kimliğine göre sayfa başlığını çağırabilir Gezinme bağlantısını sayfanın altında görüntülemek (css'yi kullanın veya alt temadaki posta şablonunu değiştirin) ve özel bağlantınızı ekleyin. Bunu iyi anlamak:

Kaldır navigasyon bağlantıları (temelde tema bağlıdır, ancak):

.nav-links { display: none; } 

Sen fonksiyonu + özel fileds yoluyla özel bağlantı ekleyebilirsiniz:

özel bir alan oluşturmak (özel bir site eklentisi çocuk tema veya tamamen)

https://codex.wordpress.org/Custom_Fields sizin functions.php eklemek:, yazınıza "my-url" örneğin, kodeksine bakınız

function my_page_add_to_content($content) { 

    if (! empty(get_post_meta(get_the_ID(), 'my-url', true)) { 
     $content .= '<a href="'.get_post_meta(get_the_ID(), 'my-url', true).'">URL TEXT HERE</a>' 
    } 

    return $content; 
} 
add_filter('the_content', 'my_page_add_to_content'); 
İlgili konular