Je souhaite configurer un système de base de "publication" pour mon site. Je ne souhaite pas utiliser de plug-in. Je souhaite donc ajouter le champ personnalisé "classification" à chaque nouvelle publication personnalisée et y ajouter le numéro 1. .
Est-ce possible? Ou est-ce que je m'y prend mal? Est-ce que beaucoup de recherches ont trouvé pas beaucoup, add_post_meta()
? Je ne suis pas sûr où cela irait.
vous pouvez le faire en accrochant une fonction simple à save_post
hook
add_action('save_post','my_rating_field');
function my_rating_field($post_id){
global $post;
// verify if this is an auto save routine.
// If it is our form has not been submitted, so we dont want to do anything
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;
// verify this came from the our screen and with proper authorization,
// because save_post can be triggered at other times
if ( !wp_verify_nonce( $_POST['myplugin_noncename'], plugin_basename( __FILE__ ) ) )
return;
// Check post type
if ($post->post_type != "YOUR_POST_TYPE_NAME")
return;
// OK, we're authenticated: we need to find and save the data
$rating = get_post_meta($post_id,'rating',true);
//if field not exists create it and give it the value of one
if (empty($rating) || !isset($rating)){
update_post_meta($post_id,'rating',1);
}
}