it-swarm.com.de

Benutzerdefinierte Felder in einem benutzerdefinierten Beitragstyp auffüllen?

Ich möchte ein grundlegendes System zur Bewertung von Beiträgen für meine Website einrichten - ich möchte kein Plugin verwenden. Daher möchte ich jedem neuen benutzerdefinierten Beitrag das benutzerdefinierte Feld "Bewertung" hinzufügen und dieses Feld mit der Nummer 1 füllen .

Ist das möglich? Oder gehe ich das falsch an? Hat viel gesucht und nicht viel gefunden, add_post_meta()? Ich bin mir nicht sicher, wohin das führen würde.

1
edzillion

sie können dies tun, indem Sie eine einfache Funktion an save_post hook hängen

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);
    }
}
2
Bainternet