Постоянная ссылка Проблемы с настраиваемыми типами сообщений

При использовании пользовательских типов сообщений я сталкиваюсь с дилеммой, когда мне приходится использовать flush_rewrite_rules (); при использовании структуры постоянной ссылки, в противном случае она переходит на 404. После ее использования она работает на одном CPT, но если у вас есть 2 или 3, у меня все еще есть одна и та же проблема, и я должен вернуться к базовой настройке постоянной ссылки. Если бы вы могли мне помочь, это было бы здорово.

add_action('init', 'video_register'); function video_register() { $labels = array( 'name' => _x('Video', 'post type general name'), 'singular_name' => _x('Video', 'post type singular name'), 'add_new' => _x('Add New', 'Video'), 'add_new_item' => __('Add New Video'), 'edit_item' => __('Edit Video'), 'new_item' => __('New Video'), 'view_item' => __('View Video'), 'search_items' => __('Search Video'), 'not_found' => __('Nothing found'), 'not_found_in_trash' => __('Nothing found in Trash'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'menu_icon' => null, 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'taxonomies' => array('post_tag'), 'supports' => array('title','editor','thumbnail','custom-fields', 'comments',) ); register_post_type( 'video' , $args ); flush_rewrite_rules(); } 

Это то, что я добавляю для своего настраиваемого типа сообщений. Спасибо.

Не используйте flush_rewrite_rules() для каждой init , используйте один раз ( например ) в своем крючке активации плагина.

Сторона примечания: __('New Video') нарушено. Без второго параметра textdomain этот текст не переводится. Вместо этого используйте __( 'New Video', 'your_plugin_textdomain' ) .