Rumah > Soal Jawab > teks badan
P粉6052337642023-07-28 00:14:02
Anda boleh mencuba ini:
Dalam fungsi mycustomname_link, kami menambah gelung untuk gelung melalui tatasusunan $custom_post_types. Untuk setiap jenis siaran tersuai, ia menyemak sama ada jenis siaran semasa sepadan dengan mana-mana nama dalam tatasusunan. Sekiranya terdapat padanan, peraturan penulisan semula akan digunakan.
Begitu juga, dalam fungsi mycustomname_rewrites_init, kami menambah gelung untuk mendaftarkan peraturan penulisan semula untuk semua jenis siaran tersuai. Setiap jenis siaran tersuai akan mempunyai peraturan penulisan semula sendiri.
Dengan pengubahsuaian ini, peraturan penulisan semula akan digunakan pada semua jenis siaran tersuai yang dinyatakan dalam tatasusunan $custom_post_types tanpa berhenti pada lelaran pertama. Pastikan anda mengemas kini tatasusunan $custom_post_types dengan nama semua jenis siaran tersuai yang anda mahu sertakan dalam peraturan penulisan semula.
function mycustomname_link($post_link, $post = 0) { $custom_post_types = array('name_of_my_post', 'another_post_type', 'yet_another_post_type'); // Add all your custom post type names here foreach ($custom_post_types as $post_type) { if ($post->post_type === $post_type) { return home_url('new' .'/'. 'posts'.'/'. $post->post_name .'/'. $post->ID . '/'); } } return $post_link; } add_filter('post_type_link', 'mycustomname_link', 10, 2); function mycustomname_rewrites_init(){ $custom_post_types = array('name_of_my_post', 'another_post_type', 'yet_another_post_type'); // Add all your custom post type names here foreach ($custom_post_types as $post_type) { add_rewrite_rule('new/posts/([^/]+)/([0-9]+)?$', 'index.php?post_type=' . $post_type . '&p=$matches[1]&p=$matches[2]', 'top'); } flush_rewrite_rules(); } add_action('init', 'mycustomname_rewrites_init');