เปลี่ยนประเภทโพสต์ที่กำหนดเองเป็นลำดับชั้นหลังจากลงทะเบียน


9

คล้ายกับคำถามก่อนหน้านี้: การเปลี่ยนอาร์กิวเมนต์ 'เขียนใหม่' หลังจากลงทะเบียนประเภทโพสต์ที่กำหนดเองแล้ว

ฉันพยายามทำให้ผลิตภัณฑ์ MarketPress เป็นลำดับชั้น - ฉันสามารถแฮ็คไฟล์ปลั๊กอินได้ แต่ฉันอยากอยู่ห่างจากพวกเขาถ้าทำได้

เป็นไปได้หรือไม่ที่จะเปลี่ยนข้อโต้แย้งของประเภทโพสต์ที่กำหนดเองหลังจากลงทะเบียนแล้ว แต่ก่อนที่สิ่งที่เขียนภายในทั้งหมดจะเสร็จสิ้น?

UPDATE: นี่คือวิธีแก้ปัญหา

และตามปกติมันเกิดขึ้นฉันพบคำตอบไม่กี่นาทีหลังจากโพสต์คำถาม ...

ดังนั้นนี่คือสิ่งที่ฉันทำในไฟล์ functions.php ของชุดรูปแบบเพื่อแก้ปัญหาของฉัน:

function modify_products() {
    if ( post_type_exists( 'product' ) ) {

        /* Give products hierarchy (for house plans) */
        global $wp_post_types, $wp_rewrite;
        $wp_post_types['product']->hierarchical = true;
        $args = $wp_post_types['product'];
        $wp_rewrite->add_rewrite_tag("%product%", '(.+?)', $args->query_var ? "{$args->query_var}=" : "post_type=product&name=");
        add_post_type_support('product','page-attributes');
    }
}
add_action( 'init', 'modify_products', 1 );

ทุกอย่างทำงาน: ลำดับชั้นการเขียนใหม่ ฯลฯ :)


5
ตอนนี้, คุณสามารถลบ SOLVED ออกจากชื่อของคุณและโพสต์คำตอบของคุณได้ไหม หลังจาก 24 ชั่วโมงคุณจะสามารถยอมรับได้ มันทำให้ผู้คนที่มีปัญหาเหมือนกันง่ายขึ้น ขอบคุณ
Stephen Harris

@ragulka ยินดีต้อนรับสู่ WordPress Stack Exchange! โปรดทราบ: เว็บไซต์นี้ไม่ใช่รูปแบบฟอรัมสนับสนุนปกติ แต่ใช้รูปแบบคำถามและคำตอบเพื่อสร้างฐานความรู้ที่มีประสิทธิภาพ คำถามและคำตอบจะโพสต์แยกต่างหากและชุมชนขึ้นและลงคะแนน OP "ยอมรับ" คำตอบที่แก้ไขคำถามเดิมได้ดีที่สุด ดังนั้นสตีเฟ่นแฮร์ริสกล่าวว่า: โปรดโพสต์คำตอบของคุณเป็นคำตอบแล้วยอมรับคำตอบนั้น
Chip Bennett

เฮ้ขอโทษด้วย ฉันพยายามตอบคำถามของตัวเองจริง ๆ แต่ทำไม่ได้ฉันถูกบอกให้รอ 8 ชั่วโมงหรือเพิ่มความคิดเห็นหรือแก้ไขคำถามแทน ดังนั้นฉันทำ ฉันเดาว่าฉันจะรออีก 4 ชั่วโมงแล้วฉันจะตอบคำถามของฉัน
ragulka

คำตอบ:


10

และตามปกติมันเกิดขึ้นฉันพบคำตอบไม่กี่นาทีหลังจากโพสต์คำถาม ...

ดังนั้นนี่คือสิ่งที่ฉันทำในไฟล์ functions.php ของชุดรูปแบบเพื่อแก้ปัญหาของฉัน:

function modify_products() {
    if ( post_type_exists( 'product' ) ) {

        /* Give products hierarchy (for house plans) */
        global $wp_post_types, $wp_rewrite;
        $wp_post_types['product']->hierarchical = true;
        $args = $wp_post_types['product'];
        $wp_rewrite->add_rewrite_tag("%product%", '(.+?)', $args->query_var ? "{$args->query_var}=" : "post_type=product&name=");
        add_post_type_support('product','page-attributes');
    }
}
add_action( 'init', 'modify_products', 1 );

ทุกอย่างทำงาน: ลำดับชั้นการเขียนใหม่ ฯลฯ :)

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