Я использую эту функцию в моей дочерней теме, чтобы изменить переписываемый пул из пользовательского типа сообщений, который был зарегистрирован в родительской теме. Но это не сработает.
function change_rewrite_rules() { global $wp_post_types; $rewrite = $wp_post_types['holiday']->rewrite; $rewrite['slug'] = '%holiday_category%'; } add_action( 'after_setup_theme', 'change_rewrite_rules' );
Здесь что-то не так?
Ps: Я не могу коснуться родительской темы, так как она является коммерческой, и она будет часто обновляться.
Обновить:
У меня также есть следующие функции:
add_filter('post_link', 'territorio_permalink', 10, 3); add_filter('post_type_link', 'territorio_permalink', 10, 3); function territorio_permalink($permalink, $post_id, $leavename) { if (strpos($permalink, '%holiday_category%') === FALSE) return $permalink; // Get post $post = get_post($post_id); if (!$post) return $permalink; // Get taxonomy terms $terms = wp_get_object_terms($post->ID, 'holiday_category','orderby=term_order'); if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $taxonomy_slug = $terms[0]->slug.'/'.$terms[1]->slug; //build here else $taxonomy_slug = 'not-yet'; return str_replace('%holiday_category%', $taxonomy_slug, $permalink); }