Intereting Posts
Выберите только сообщение id и meta с помощью WP_Query Пользовательский таксономия огромный список, который не загружается должным образом в поле выбора Переопределить шаблон плагина Как создать массив с порядком идентификаторов категорий тем, у кого есть последнее сообщение Разница между мета-ключами с _ и без _ Есть ли фильтр для get_post_custom ()? Как я могу сделать свои пользовательские сообщения в своем URL-адресе назначенной категории? Изменение текста экрана «Внести / Вставить в сообщения и страницы» Невозможно сохранить или изменить пользовательскую таксономию по типу объекта страницы, но как только это возможно. Советы по устранению неполадок? Почтовый запрос с множественной таксономией с исключением Как включить wpautop для содержимого XMLRPC Различные wp_mail_from и wp_mail_from_name для конкретных ситуаций Пользовательский шаблон электронной почты для определенной категории продуктов Авто удалить пустые значения в массиве Как завершить событие загрузки страницы и загрузить после этого?

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

У меня есть обычная таксономия и пользовательский тип сообщения. Я нацелен на следующую структуру permalink:

{custom taxonomy}/{custom taxonomy term}/{custom post slug}

Или, по крайней мере,

{custom taxonomy term}/{custom post slug}

Я в настоящее время

{%category%}/{%postname%} , но не кости.

Например, предположим, что у меня есть:

  • states таксономии, и термин таксономии newyork
  • пользовательские jobs типа post с сообщением, которое имеет slug wordpress-developer

Я ищу для достижения:

  • states/newyork : архив всех jobs в newyork , это работает.
  • states/newyork/wordpress-developer : страница пользовательской почты с использованием таксономии и термина в качестве базы в постоянной ссылке.

Цель состоит в том, чтобы перемещаться из states/newyork (список «заданий» и states/newyork в отдельную должность без отклонений от структуры permalink до сих пор, поэтому states/newyork/wordpress-developer

Возникли проблемы:

  • states/newyork/wordpress дает 404
  • newyork/wordpress-developer перенаправляет на jobs/wordpress-developer

Желаемый результат:

  • states/newyork/wordpress-developer на странице пользовательского типа сообщений

PS – не строит другую работу, просто используя это в качестве примера 🙂


текущий таксономия и почтовый регистратор типа:

 function register() { register_taxonomy('state', 'district', array( 'labels' => array( 'name' => 'States', 'singular_name' => 'State', 'search_items' => 'Search States', 'all_items' => 'All States', 'parent_item' => 'Parent State', 'parent_item_colon' => 'Parent State:', 'edit_item' => 'Edit State', 'update_item' => 'Update State', 'add_new_item' => 'Add New State', 'new_item_name' => 'New State', 'menu_name' => 'States' ), 'public' => true, 'show_admin_column' => true, 'hierarchical' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'states', 'with_front' => false ) )); register_post_type('district', array( 'labels' => array( 'name' => 'Districts', 'singular_name' => 'Districts' ), 'hierarchical' => true, 'supports' => array('title', 'page-attributes'), 'public' => true, 'has_archive' => 'states', 'rewrite' => array( 'with_front' => false, 'slug' => 'states/%show_category%' ) ) ); } 

Я смог решить это, установив правило перезаписи:

 function rewrite_rules($rules) { $newRules = array(); $newRules['states/(.+)/(.+?)$'] = 'index.php?district=$matches[2]'; return array_merge($newRules, $rules); } add_filter('rewrite_rules_array', __NAMESPACE__ . '\\rewrite_rules');