Singkirkan arsip kategori, tag, dan penulis Wordpress?


9

Saya telah mencari di internet tanpa hasil apa yang seharusnya menjadi hal yang mudah.

Saya memiliki blog yang sangat disesuaikan dengan halaman, sub halaman dan posting. Meskipun saya sangat bergantung pada penggunaan kategori dan tag, saya tidak ingin mereka dapat dilihat di url. Hal yang sama berlaku untuk penulis dan kategori tanggal. Pada dasarnya saya tidak ingin membuat kesalahan 404 jika seseorang mencoba mengakses halaman ini. Bisakah seseorang mengarahkan saya ke arah yang benar? Terima kasih!

Yang berikut tidak boleh diakses:

example.net/category/books/

example.net/tag/ebooks/

example.net/author/dickens/

example.net/2012/10/

Jawaban:


5

membangun jawaban chrisguitarguy di sini adalah cuplikan singkat yang dapat Anda masukkan dalam file functions.php tema Anda untuk melakukan pekerjaan

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

Saya menulis sebuah plugin untuk ini - yang memerlukan beberapa pembaruan, tetapi itu masih berfungsi dengan baik.

Pada dasarnya Anda terhubung di suatu tempat terlambat setelah WordPress tahu halaman apa yang diminta (seperti template_redirect), gunakan salah satu fungsi kondisional dan baik gunakan $wp_query->set_404()atau hanya mengarahkan pengguna ke halaman pilihan Anda.

Untuk menonaktifkan kategori, tag, penulis, dan arsip tanggal:

<?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();
    }
}

Melakukan pekerjaan dengan sempurna! Terima kasih banyak, juga untuk menyediakan tautan yang bermanfaat ke fungsi-fungsi bersyarat!
psot

Tampaknya agak berlebihan untuk memiliki ini sebagai plugin mandiri. Sepertinya sebagian besar penulis tema harus dapat melakukan ini di functions.php atau plugin khusus mereka sendiri.
serraosays
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.