Est-il possible d'utiliser un champ personnalisé pour attribuer la catégorie de publication?
Par exemple:
J'ai un champ personnalisé Genres
dans mon type de message personnalisé Tvseries
.
Puis je suis entré: Action, Drame, Comédie
Une fois que je l'ai sauvegardé ou publié, il sera assigné à ces 3 catégories i entrées dans le champ d'entrée/personnalisé.
Vous devez vous connecter à save_post
et définir les catégories à l'aide de wp_set_object_terms()
:
// Add an action to run on post save
add_action( 'save_post', 'set_genre_on_save' );
function set_genre_on_save( $post_id ){
// Check the post type
if (is_single('tvseries')) {
// Get the custom field data
$custom_field_data = get_post_custom( $post_id );
// Check if there is any genres entered in the metabox
if (isset($custom_box_data['genre'])) {
// Save the genre data (separated by comma) into an array
$genre_array = explode( ',', $custom_box_data['genre'] );
//Set the array values to lower case
foreach ($genre_array as $genre){
$genre = strtolower($genre);
}
// Set the categories for these genres
wp_set_object_terms( $post_id, $genre_array, 'category' );
}
}
}
Vous devez entrer la slug
ou la ID
de vos catégories dans le champ. Par exemple, War Movies
ne fonctionnera pas, mais war-movies
fonctionnera. De plus, il ne doit y avoir aucun espace blanc entre les valeurs (ou vous devez changer ','
en ' ,'
).
Notez que ceci est juste un exemple, puisque vous n'avez posté aucun code. Vous devrez peut-être modifier certaines valeurs telles que genres
pour les faire correspondre à vos types de champs/publications personnalisés.