Я хочу сохранить пользовательские типы записей в моих пользовательских таксономиях, но в данный момент это не работает
Однажды у меня есть функция вставки для пользовательских типов записей и функция обновления, если эта запись уже существует. Я передаю данные с флажком, который содержит слаг из пользовательских таксономий в качестве значения. Может ли кто-нибудь помочь мне и сказать, что я делаю неправильно?
Вот моя функция. php:
function update_entry() {
if ( check_entry_exists( $_POST[ 'aid' ] ) == 0 ) {
$my_post = array(
'post_title' => wp_strip_all_tags( $_POST[ 'company' ] ),
'post_content' => '',
'post_name' => wp_strip_all_tags( $_POST[ 'company' ] ),
'post_status' => 'publish',
'post_author' => $_POST[ 'aid' ],
'post_type' => 'entry',
);
$pid = wp_insert_post( $my_post );
wp_set_post_terms($pid, $_POST['entry_category'], 'categorie1', 'categorie2', 'categorie3', true);
} else {
$my_post_update = array(
'ID' => get_entry_post_id( $_POST[ 'aid' ] ),
'post_title' => wp_strip_all_tags( $_POST[ 'company' ] ),
'post_content' => '',
'post_name' => wp_strip_all_tags( $_POST[ 'company' ] ),
'post_status' => 'publish',
'post_author' => $_POST[ 'aid' ],
'post_type' => 'entry',
'tax_input' => array(
'categorie1' => $_POST['entry_category'],
'categorie2' => $_POST['entry_category'],
'categorie3' => $_POST['entry_category'],
),
);
$pid = wp_update_post( $my_post_update );
$pid = get_entry_post_id( $_POST[ 'aid' ] );
wp_set_post_terms($pid, $_POST['entry_category'], 'categorie1', 'categorie2', 'categorie3', true);
}
unset( $_POST[ 'action' ] );
foreach ( $_POST as $key => $value ) {
update_post_meta( $pid, $key, $value );
}
}
А вот мой шаблон:
<?php foreach ($categories as $entry_category) {
$option = '<input type="checkbox" name="entry_category[]" id="'.$entry_category->name.'" value="'.$entry_category->slug.'">';
$option .= '<label for="entry_category">'.$entry_category->name.'</label>';
echo $option;
} ?>
А вот как я регистрирую свои условия:
function create_entry_taxonomies() {
$labels = array(
'name' => 'Kategorien',
'singular_name' => 'Kategorie',
'search_items' => 'Kategorien durchsuchen',
'all_items' => 'Alle Kategorien',
'parent_item' => 'Hauptkategorie',
'parent_item_colon' => 'Hauptkategorie:',
'edit_item' => 'Kategorie bearbeiten',
'update_item' => 'Kategorie aktualisieren',
'add_new_item' => 'Neue Kategorie hinzufügen',
'new_item_name' => 'Neuer Kategorie Name',
'menu_name' => 'Kategorien',
);
register_taxonomy('entry_category',array('entry'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'entry_category' ),
));
}