Wordpress kategori, etiket ve yazar arşivlerinden kurtulun mu?


9

Ne kolay bir şey olması gerektiği üzerinde hiçbir başarı ile net aradım.

Sayfaları, alt sayfaları ve yayınları olan son derece özelleştirilmiş bir blogum var. Kategorilerin ve etiketlerin kullanımına büyük ölçüde güvenirken, bir url'de görüntülenmelerini istemiyorum. Aynı şey yazarlar ve tarih kategorileri için de geçerlidir. Temelde birisi bu sayfalara erişmeye çalışırsa 404 hatası atmak istemiyorum. Birisi beni doğru yönde gösterebilir mi? Teşekkürler!

Aşağıdakilere erişilebilir olmamalıdır:

example.net/category/books/

example.net/tag/ebooks/

example.net/author/dickens/

example.net/2012/10/

Yanıtlar:


5

chrisguitarguy'un cevabına odaklanmak, işinizin temasını yapmak için hızlı bir snippettir.

add_action('template_redirect', 'wpse69948_archive_disabler');
function wpse69948_archive_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

7

Bunun için bir eklenti yazdım - bazı güncelleme gerekiyor, ancak yine de iyi çalışmalı.

Esasen, WordPress'in hangi sayfanın talep edildiğini (örneğin template_redirect) bildikten sonra bir yere bağlanırsınız , koşullu işlevlerden birini kullanır $wp_query->set_404()ve kullanıcıyı seçtiğiniz bir sayfaya yönlendirir veya yönlendirirsiniz.

Kategorileri, etiketleri, yazar ve tarih arşivlerini devre dışı bırakmak için:

<?php
add_action('template_redirect', 'wpse69948_tag_disabler');
function wpse69948_tag_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

Mükemmel bir iş çıkarıyor! Koşullu işlevlere faydalı bağlantı sağladığınız için çok teşekkürler!
psot

Bunu bağımsız bir eklenti olarak kullanmak biraz abartılı görünüyor. Çoğu tema yazarının bunu function.php veya kendi özel bir eklentisinde yapabilmesi gerekir.
serraosays
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.