Начать таксономию из пользовательских сообщений

У меня есть пользовательский пост, который я хочу классифицировать с помощью пользовательской таксономии. В самой таксономии я хочу быть зависимой от элементов другого пользовательского типа сообщения. Можно ли заполнить таксономию через элементы пользовательского типа сообщений, или это то, что мне нужно сделать вручную?

Приветствуются плагины, фрагменты, руководство по альтернативным методам подхода.

ИЗМЕНИТЬ С ПРИМЕРОМ:

У меня есть пользовательский тип сообщения, который в основном действует как страница. Когда я его создаю, я хочу, чтобы он заполнил пользовательскую таксономию своим названием. Ответ Даниэля Дворкина – это то решение, о котором я думал.

Solutions Collecting From Web of "Начать таксономию из пользовательских сообщений"

Я всегда использую что-то вроде:

add_action('save_post', 'mdz_correlate_casos_taxonomy'); function mdz_correlate_casos_taxonomy( $post_id ){ if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id; if ( 'YOUR CUSTOM POST TYPE' == $_POST['post_type'] ){ if (!wp_is_post_revision($post_id)){ if (!term_exists( $_POST["post_title"], 'YOUR CUSTOM TAXONOMY' )){ $termid = wp_insert_term( $_POST["post_title"], 'YOUR CUSTOM TAXONOMY' ); } } } } 

Но это подвержено противоречивости (например: если вы удаляете сообщение, этот термин не будет удален)

Чтобы следить за ответом @ MZAweb. Вы также можете автоматически удалить этот термин:

 add_action( 'before_delete_post', 'cpk_delete_term' ); function cpk_delete_term( $post_id ) { $post = get_post( $post_id ); if ( term_exists( $post->post_title, 'YOUR_TAXONOMY_NAME' ) ) { $term = get_term_by( 'name', $post->post_title, 'YOUR_TAXONOMY_NAME' ); wp_delete_term( $term->term_id, 'YOUR_TAXONOMY_NAME' ); } } 

Обратите внимание, что мы не делаем проверку для типа сообщения здесь, потому что это не в объекте post при попытке получить эту информацию (по какой-либо причине).