Ubah jenis posting khusus menjadi hierarkis setelah terdaftar

9

Sangat mirip dengan pertanyaan sebelumnya: Mengubah argumen 'tulis ulang' setelah jenis posting kustom didaftarkan

Saya mencoba membuat MarketPress Products hierarkis - saya bisa melakukannya dengan meretas file plugin, tetapi saya ingin menjauh dari mereka jika saya bisa.

Apakah mungkin untuk mengubah argumen dari jenis posting kustom setelah terdaftar, tetapi sebelum semua hal penulisan ulang internal telah dilakukan?

UPDATE: Inilah solusinya

Dan seperti yang biasanya terjadi, saya menemukan jawabannya beberapa menit setelah memposting pertanyaan ...

Jadi inilah yang saya lakukan di file functions.php tema saya untuk menyelesaikan masalah saya:

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 );

Semuanya berfungsi: hierarki, penulisan ulang, dll :)

ragulka
sumber
5
Ragulka, dapatkah Anda menghapus ASK dari judul Anda dan memposting solusi Anda sebagai jawaban. Setelah 24 jam Anda akan dapat menerimanya. Itu hanya membuatnya lebih mudah bagi orang-orang yang mungkin memiliki masalah yang sama / serupa. Terima kasih.
Stephen Harris
@ragulka selamat datang di WordPress Stack Exchange! Harap dicatat: situs ini bukan format forum dukungan biasa, melainkan menggunakan format tanya jawab , untuk membangun basis pengetahuan yang kuat. Pertanyaan dan jawaban diposting secara terpisah, dan dipilih naik turun oleh masyarakat. OP "menerima" jawaban yang paling baik menjawab pertanyaan aslinya. Jadi, seperti kata Stephen Harris: silakan posting solusi Anda sebagai Jawaban , dan kemudian terima jawaban itu.
Chip Bennett
Hei, maaf soal itu. Saya sebenarnya mencoba menjawab pertanyaan saya sendiri tetapi saya tidak bisa, saya disuruh menunggu 8 jam atau menambahkan komentar atau mengedit pertanyaan saya. Jadi saya lakukan. Yah, kurasa aku akan menunggu 4 jam lagi dan kemudian aku bisa menjawab pertanyaanku.
ragulka

Jawaban:

10

Dan seperti yang biasanya terjadi, saya menemukan jawabannya beberapa menit setelah memposting pertanyaan ...

Jadi inilah yang saya lakukan di file functions.php tema saya untuk menyelesaikan masalah saya:

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 );

Semuanya berfungsi: hierarki, penulisan ulang, dll :)

ragulka
sumber