Intereting Posts
Практическое руководство. Список вакансий в WordPress и сведения о кандидатах плагин wordpress для поиска полей базы данных как получить конкретный контент страницы Шаблоны файлов для настраиваемого типа сообщений с настраиваемыми тегами Как получить строки меню, категории и теги в файл po для перевода Функция wp_tiny_mce не найдена Как использовать post_updated hook до и после аргументов Разница между функциями the_permalink () и get_permalink () Как показать пользовательские поля для всех пользователей по умолчанию при изменении после публикации Функция WPMU get_blog_details, last_updated / зарегистрированная и форматирование строки времени и даты Добавление разделителей или разделителей между элементами меню Nav Использование add_theme_support внутри плагина Как защитить тему приложения Premium WordPress от копирования? $ wpdb-> get_row возвращает имя столбца вместо значения столбца Использовать значения массива ACF в коротком коде

Динамическая таксономия в permalink сделала все остальные должности НЕ НАЙДЕНЫ?

Я добавил свои таксономии в permalink вместо пула Custom Post Type, и он отлично работает. Я бы даже сказал, что все работает нормально, но изменение установки WP на Multisite сломало все другие сообщения и страницы (а не CPT).

Постоянная ссылка генерируется правильно каждый раз как? P = 123 или другие угаданные URL-адреса, поэтому информация о сообщении найдена, но не найдена для цикла.

Вот как я получил таксономию вместо пули CPT:

1) Переписывание post_type определяется как% listing_type%, и оно отлично работает, как показано ниже:

'rewrite' => array( 'slug' => '/%listing_type%', 'with_front' => false, 

2) И следующие функции заменяют строку% listing_type% и "listing_type" из URL-адресов и терминов, созданных, например, wp_list_categories (), соответственно (удаление имени CPT из URL-адреса)

  function listing_type_link_filter_function( $post_link, $id = 0, $leavename = FALSE ) { if ( strpos('%listing_type%', $post_link) === 'FALSE' ) { return $post_link; } $post = get_post($id); if ( !is_object($post) || $post->post_type != 'listing' ) { return $post_link; } $terms = wp_get_object_terms($post->ID, 'listing_type'); if ( !$terms ) { return str_replace('/listing_type', '/', $post_link); } return str_replace('%listing_type%', $terms[0]->slug, $post_link); } add_filter('post_type_link', 'listing_type_link_filter_function', 1, 3); function term_link_filter_function( $termlink, $term, $taxonomy ) { if ( strpos('listing_type', $termlink) === 'FALSE' ) { return $termlink; } else return str_replace('/listing_type', '', $termlink); } add_filter('term_link', 'term_link_filter_function', 1, 3); 

Теперь я почти уверен, что все работает нормально, прежде чем я сделал это Multisite. Я буду исследовать, как безопасно удалить его (многоузловое дело) и опубликовать обновление позже.

Любая идея, что может сломать сообщения и страницы НЕ в вышеуказанных СРП? Если я удалю% s из пула post_type, все будет хорошо.

UPDATAE

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

ЭТО ЧАСТИЧНЫЕ РАБОТЫ (только посты)

 global $wp_rewrite; $wp_rewrite->extra_permastructs['listing'][0] = "%listing_type%/%postname%"; add_rewrite_rule("([^/]+)/([^/]+)/?$", 'index.php?post_type=listing&listing_type=$matches[1]&name=$matches[2]', 'bottom'); add_rewrite_rule("([^/]+)/([^/]+)/?$", 'index.php?post_type=listing&listing_type=$matches[1]&page=$matches[2]', 'bottom'); 

Вышеприведенный код (внутри функции определения CPT) фиксировал только сообщения , но страницы (для второй строки add_rewrite_rule) были разбиты.

Solutions Collecting From Web of "Динамическая таксономия в permalink сделала все остальные должности НЕ НАЙДЕНЫ?"