Intereting Posts
Отображение конкретных виджетах боковой панели на определенной странице Загружать Javascript из плагина только на одной странице? Пользовательская область (интерфейс / дизайн) в WordPress, возможно ли и как? Управление резервными копиями: проблемы с пространством нужна коррекция с фрагментом в functions.php Минималистическая тема для администратора WP 3 Условные теги для определенной категории пользовательских сообщений Можно ли изменить количество сообщений администратора на страницу? Удалить определенные элементы из меню быстрого редактирования пользовательского типа сообщений? Тематический независимый плагин с использованием шаблона по умолчанию Неустранимые ошибки для неопределенной функции в файле темы 404.php Конфликт между wp_list_pages и get_posts – страницы списков, не отображающие Как заставить WP использовать https для доступа к wordpress.org? Buddypress Полная документация Следует ли удалить темы по умолчанию?

Переписать пользовательский тип почтового сообщения – несколько типов сообщений

Я задаю этот вопрос несколько раз, но этот вопрос не совсем то же самое. У меня есть две функции для изменения URL-адреса одного настраиваемого типа сообщений, но не могу понять, как это работает для нескольких CPT. То, что я пробовал:

  1. Просто скопируйте функции и переименуйте их – не будет работать, они переписывают друг друга
  2. Попробовал добавить строки внутри функции дважды – фатальная ошибка
  3. И попытался сделать это $queryarg = 'post_type=article&p='; к массиву – но add_rewrite_tag принимает только одну строку

Так вот код:

  function custom_post_rewrite() { global $wp_rewrite; $queryarg = 'post_type=article&p='; $wp_rewrite->add_rewrite_tag( '%cpt_id%' , '([^/]+)', $queryarg ); $wp_rewrite->add_rewrite_tag( '%cpt_type%' , '([^/]+)', $queryarg ); $wp_rewrite->add_rewrite_tag( '%cpt_title%' , '([^/]+)', $queryarg ); $wp_rewrite->add_permastruct( 'article' , '/%cpt_type%/%cpt_title%-id=%cpt_id%', false ); } add_action( 'init', 'custom_post_rewrite' ); function custom_post_permalink( $post_link, $id = 0, $leavename ) { global $wp_rewrite; $post = get_post( $id ); $uni_id = get_post_meta( $post->ID, 'unique_post_identifier', true); $post_type = get_post_type( $post->ID ); $post_title = sanitize_title( get_the_title( $post->ID )); if ( is_wp_error( $post ) ) return $post; $newlink = $wp_rewrite->get_extra_permastruct( 'article' ); $newlink = str_replace( '%cpt_id%', $post->ID, $newlink ); $newlink = str_replace( '%cpt_title%', $post_title, $newlink ); $newlink = str_replace( '%cpt_type%', $post_type, $newlink ); $newlink = home_url( user_trailingslashit( $newlink ) ); return $newlink; } add_filter('post_type_link', 'custom_post_permalink', 1, 3); 

Таким образом, эта функция создаст такую ​​константу:

 /%cpt_type%/%cpt_title%-id=%cpt_id% 

Solutions Collecting From Web of "Переписать пользовательский тип почтового сообщения – несколько типов сообщений"