Intereting Posts
get_query_var ('paged') всегда возвращает пустое Пользовательские поля сообщений Создание фиксированных размеров изображений для разных страниц, исключение размеров при загрузке Статус файла css 403 Разрешение 500 ошибок с GoDaddy хостинга? Использование значения ACF Custom Field в URL с do_shortcode () wp e-commerce group продукт по категориям Целесообразно использовать $ post-> comment_count вместо get_comments_number ($ post_id) Пользовательская сортировка поля не работает (WP 3.8.1) Использовать pre_get_posts для фильтрации сообщений по разрешенным категориям Как заполнить новостную рассылку Mailchimp с последними событиями из плагина WordPress EventOn? 301 redirect вместо 404, когда URL является префиксом имени или имени страницы? Не удается удалить & nbsp; созданный редактором из базы данных WordPress переводит динамически сгенерированные домашние страницы Удалить подкатегорию и категорию с некоторыми правилами из permalink

Постоянная ссылка для пользовательских пост-типов в пользовательских таксономах не найдена

Я попытался применить совет, предлагаемый TheDeadMedic в этом сообщении, для достижения следующей структуры URL:

example.com/activities = страница WP
example.com/activities/type-term = собственный архив
example.com/activities/type-term/activity-post = пользовательский пост

Весь URL-адрес работает до самого низкого, который возвращает ошибку WordPress «не найден».

Я не знаю, нужно ли фильтровать правила перезаписи для выполнения этой работы. Сообщение, которое я связал выше, говорит о том, что я сделал все необходимое.

Любая помощь будет очень признательна, спасибо. Вот мой код:

/* * Register custom content objects on initiation */ add_action('init', 'register_type'); // Type taxonomy (activities) add_action('init', 'register_activity'); // Activity post-type add_filter('post_type_link', 'filter_activity_link', 10, 2); // Filter permalinks for activity post-type /* * Register Type custom taxonomy for activities */ function register_type() { $labels = array( 'name' => ('Types'), 'singular_name' => ('Type'), 'add_new' => ('Add New Type'), 'add_new_item' => ('Add New Type'), 'edit_item' => ('Edit Type'), 'new_item' => ('New Type'), 'view_item' => ('View Type'), 'search_items' => ('Search Type'), ); $args = array( 'labels' => $labels, 'public' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'activities', 'with_front' => false ), ); register_taxonomy( 'type', 'activity', $args ); } /* * Register Activity custom post-type */ function register_activity() { $labels = array( 'name' => ('Activities'), 'singular_name' => ('Activity'), 'all_items' => ('All Activities'), 'add_new_item' => ('Add New Activity'), 'edit_item' => ('Edit Activity'), 'new_item' => ('New Activity'), 'view_item' => ('View Activity'), 'search_items' => ('Search Activities') ); $args = array( 'labels' => $labels, 'public' => true, 'show_in_nav_menus' => false, // Do not appear directly in navigation 'menu_position' => 5, 'hierarchical' => false, 'query_var' => true, 'supports' => array( 'title', 'editor', 'type', 'revisions', 'comments' ), 'rewrite' => array( 'slug' => 'activities/%tax_type%', 'with_front' => false ) ); register_post_type( 'activity', $args ); } /* * Update Type rewrite slug with applicable terms */ function filter_activity_link($link, $post) { if ($post->post_type != 'activity') return $link; if ($cats = get_the_terms($post->ID, 'type')) $link = str_replace('%tax_type%', array_pop($cats)->slug, $link); return $link; } 

ОБНОВИТЬ

ОК, оказалось, что вам нужно будет добавить правила перезаписи для завершения этого процесса. URL-адрес может отображаться правильно, но база данных не понимает их. Эта статья очень помогла мне, наряду с этой справочной информацией о регулярном выражении.

Мне просто нужно было добавить код

 add_rewrite_rule('^activities/([^/]*)/([^/]*)/?$' ,'index.php?activity=$matches[2]','top'; 

Надеюсь, это поможет кому-то.

В WordPress ничего нет, чтобы автоматически заменить %tax_type% в переписывающем пуле. Вам нужно будет добавить какой-то пользовательский код для его обработки, как в этом ответе. https://stackoverflow.com/questions/7723457/wordpress-custom-type-permalink-containing-taxonomy-slug