Intereting Posts
Если wordpress не имеет содержимого, измените его на черновик Условно загрузить сценарий, если определенный виджет отображается на странице тема и плагин устанавливают или обновляют ошибку отображения в localhost изменить расположение вывода функции плагина с помощью пользовательского подключения Файл javascript не находится в очереди Сохранение сообщений ACF Как добавить подменю в меню, созданное wp_nav_menu, с помощью плагина Пользовательский пост не отображается в категории пользовательской таксономии Если у метаболизма есть контент для показа содержимого Запретить сайт при импорте данных из большого XML-файла Добавить теги в пользовательский тип сообщения Сеть WordPress на сервере IIS7 / SQL Server – перепишите проблемы Создание второго меню на Twenty Eleven, выровненного с первого Текст не обертывается вокруг правого плавающего изображения Страница категории сортировки с настраиваемым полем

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

Я попытался применить совет, предлагаемый 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'; 

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

Solutions Collecting From Web of "Постоянная ссылка для пользовательских пост-типов в пользовательских таксономах не найдена"

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