it-swarm-id.com

Penulisan Ulang URL Jenis Tulisan Kustom?

Saya menyiapkan jenis pos khusus untuk proyek portofolio saya. URL utama untuk ini terletak di/proyek /

Sekarang saya juga telah mengatur permalink posting blog saya ke/artikel/*/untuk struktur permalink. Ini berarti ketika saya pergi untuk melihat proyek portofolio perubahan URL ke/artikel/proyek/nama proyek /

Saya tahu pasti ada cara untuk menulis ulang HANYA permalinks untuk jenis posting khusus proyek saya. Tapi saya tidak terbiasa dengan sintaks dalam mendeklarasikan URL slug - akan menghargai bantuan yang bisa saya dapatkan!

30
Jake

Ketika Anda mendaftarkan jenis posting khusus, Anda harus menentukan bahwa aturan penulisan ulang tidak boleh ditambahkan dengan struktur URL yang ada.

Singkatnya, ini berarti bahwa baris ini dalam panggilan register_post_type Anda:

'rewrite' => array('slug' => 'projects'),

harus berubah menjadi ini:

'rewrite' => array('slug' => 'projects','with_front' => false),

Untuk info lebih lanjut, periksa argumen rewrite dari entri codex di register_post_type

edit: pastikan saja, setelah memperbarui kode, Anda menghapus aturan penulisan ulang dengan mengunjungi Pengaturan> Permalinks. Kalau tidak, Anda masih akan melihat tautan lama.

37
0x61696f

Saya memiliki masalah ini secara harfiah 3 hari yang lalu, kemudian saya menemukan seri di wp.tutsplus.com . Saya menukar kode saya sendiri untuk mengakomodasi pertanyaan Anda dengan lebih baik, tetapi inilah yang akhirnya saya ikuti setelah mengikuti seri. Juga, perlu diingat bahwa ini tidak diuji.

// sets custom post type
function my_custom_post_type() {
    register_post_type('Projects', array(   
       'label' => 'Projects','description' => '',
       'public' => true,
       'show_ui' => true,
       'show_in_menu' => true,
       'capability_type' => 'post',
       'hierarchical' => false,
       'publicly_queryable' => true,
       'rewrite' => false,
       'query_var' => true,
       'has_archive' => true,
       'supports' => array('title','editor','excerpt','trackbacks','custom-fields','comments','revisions','thumbnail','author','page-attributes'),
       'taxonomies' => array('category','post_tag'),
       // there are a lot more available arguments, but the above is plenty for now
    ));
}

add_action('init', 'my_custom_post_type');

// rewrites custom post type name
global $wp_rewrite;
$projects_structure = '/projects/%year%/%monthnum%/%day%/%projects%/';
$wp_rewrite->add_rewrite_tag("%projects%", '([^/]+)', "project=");
$wp_rewrite->add_permastruct('projects', $projects_structure, false);

Secara teoritis, Anda dapat menukar apa pun yang Anda inginkan di URL yang disimpan dalam variabel $projects_structure, apa yang ada akhirnya saya gunakan.

Semoga berhasil, dan seperti biasa - pastikan untuk kembali dan beri tahu kami cara kerjanya! :)

14
cmegown