กำจัดหมวดหมู่แท็กและคลังข้อมูลผู้แต่งของ Wordpress?


9

ฉันค้นหาสุทธิโดยไม่ประสบความสำเร็จในสิ่งที่ควรเป็นเรื่องง่าย

ฉันมีบล็อกที่กำหนดเองสูงพร้อมหน้าเพจย่อยและโพสต์ ในขณะที่ฉันพึ่งพาการใช้หมวดหมู่และแท็กเป็นอย่างมากฉันไม่ต้องการให้สามารถดูได้ใน URL เช่นเดียวกันสำหรับผู้เขียนและหมวดหมู่วันที่ โดยทั่วไปฉันจะไม่โยนข้อผิดพลาด 404 หากมีคนพยายามเข้าถึงหน้าเหล่านี้ ใครบางคนชี้ให้ฉันในทิศทางที่ถูกต้อง? ขอบคุณ!

ไม่ควรเข้าถึงต่อไปนี้:

example.net/category/books/

example.net/tag/ebooks/

example.net/author/dickens/

example.net/2012/10/

คำตอบ:


5

การสร้างคำตอบของ chrisguitarguy ที่นี่เป็นข้อมูลโค้ดสั้น ๆ ที่คุณสามารถวางลงในไฟล์ function.php ของธีมเพื่อทำงาน

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

ฉันเขียนปลั๊กอินสำหรับสิ่งนี้ - ที่ต้องมีการปรับปรุงบางอย่าง แต่มันก็ยังคงทำงานได้ดี

โดยพื้นฐานแล้วคุณจะติดใจในบางสถานที่หลังจาก WordPress รู้ว่าหน้าใดที่มีการร้องขอ (เช่นtemplate_redirect) ใช้หนึ่งในฟังก์ชั่นที่มีเงื่อนไขและอาจใช้$wp_query->set_404()หรือเพียงแค่เปลี่ยนเส้นทางผู้ใช้ไปยังหน้าที่คุณเลือก

หากต้องการปิดใช้งานหมวดหมู่แท็กผู้เขียนและวันที่เก็บถาวร:

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

ทำงานได้อย่างสมบูรณ์แบบ! ขอบคุณมากสำหรับการให้ลิงค์ที่มีประโยชน์กับฟังก์ชั่นที่มีเงื่อนไข!
psot

ดูเหมือนว่า overkill ค่อนข้างจะมีนี้เป็นปลั๊กอินแบบสแตนด์อโลน ดูเหมือนว่าผู้แต่งชุดรูปแบบส่วนใหญ่ควรจะสามารถทำเช่นนี้ใน functions.php หรือปลั๊กอินที่กำหนดเองของพวกเขาเอง
serraosays
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.