แทนที่ URL เริ่มต้นสำหรับหน้าผู้แต่งหรือไม่


13

ดังนั้น URL เริ่มต้นที่จะแสดงรายการโพสต์โดยผู้เขียนคนใดคนหนึ่งจะมีลักษณะดังนี้:

http://domain.com/author/{username}

ฉันสงสัยว่าจะเปลี่ยน 'ผู้เขียน' ใน URL นั้นเป็นอย่างอื่นได้อย่างไร

ฉันทำงานในเว็บไซต์ของโรงเรียนเช่าเหมาลำและพวกเขาต้องการอนุญาตให้ครูแต่ละคนมีรายการโพสต์โดย "ห้องเรียน" ดังนั้น URL ที่ต้องการจะเป็น

http://domain.com/classroom/{username}

คำตอบ:



15

คุณสามารถเพิ่มสิ่งนี้ในฟังก์ชั่นของคุณและมันจะเขียนกระสุนจากเริ่มต้น "ผู้เขียน" ถึง "ห้องเรียน"

function new_author_base() {
    global $wp_rewrite;
    $author_slug = 'classroom';
    $wp_rewrite->author_base = $author_slug;
}
add_action('init', 'new_author_base');

หวังว่ามันจะช่วยคุณ


1
flush_rules()ค่อนข้างแพง (ในแหล่งข้อมูล) ดังนั้นฉันจะไม่เรียกมันว่าทุกครั้งที่โหลด หากคุณทำสิ่งนี้เพียงหนึ่งไซต์คุณสามารถปล่อยให้มันออกไปและเพียงไปที่หน้าPermalinksสิ่งนี้จะเป็นการล้างกฎด้วย
Jan Fabry

ใช่ @Jan Fabry คุณพูดถูกฉันมีคำตอบแล้ว ฉันเขียนทางออกที่ดีกว่า
ฟิลิป

4
สำหรับทุกคนที่สงสัยว่าจะใช้ตัวอย่างนี้หรือปลั๊กอิน t31os ที่กล่าวถึง: ปลั๊กอินทำสิ่งเดียวกัน แต่มีส่วนต่อประสานเพื่อเปลี่ยนส่วน URL เนื่องจากคุณอาจไม่เปลี่ยนทุกเดือนข้อมูลโค้ดนี้ในของคุณfunctions.phpมีมากเกินพอ (และจะไม่ถูกปิดใช้งานโดยไม่ได้ตั้งใจ)
ม.ค. Fabry

1

ฉันใช้ปลั๊กอิน "แก้ไขผู้เขียนบุ้ง" เพื่อทำสิ่งเดียวกันกับที่http://www.techcartnow.com/author/kapil-khandelwal/บล็อก WordPress ของฉัน ฉันแก้ไข "บุ้งผู้เขียน" โดยใช้ปลั๊กอินนี้

ปลั๊กอิน" แก้ไขผู้เขียนบุ้ง " อนุญาตให้คุณเปลี่ยนทั้งฐานผู้แต่ง (ส่วน '/ ผู้เขียน /' ของ URL ผู้เขียน) และผู้เขียนบุ้ง (ค่าเริ่มต้นเป็นชื่อผู้ใช้ของผู้แต่ง)


0

คุณสามารถเพิ่มสิ่งนี้ในfunctions.php:

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.