Wie lassen sich benutzerdefinierte Meta-Begriffe in einem Pulldown-Menü in einem Thema anzeigen?

Ich habe ein Pulldown-Menü in einer benutzerdefinierten Schreibbox, die Klassifizierungsnummern enthält. Wie kann ich ein Auswahlfeld am Frontend füllen, das: a) mit allen möglichen Werten gefüllt wird, die im functionsskript definiert sind b) muss der Wert, der in wp-admin gewählt wurde, beim Laden der Seite im Pulldown-Menü ausgewählt werden?

Diese Frage piggybacks auf meinem, wie man ein Auswahlmenü zu einer kundenspezifischen Metabox hinzufügt, die (vollkommen) von בנבנית אארםם geantwortet wird.

Mein cpt Meta-Box-Code:

function inventory_information() { global $post; echo ''; $stocknum = get_post_meta($post->ID, '_dappcf_i_stocknum', true); $vin = get_post_meta($post->ID, '_dappcf_i_vin', true); $my_dropdown = get_post_meta($post->ID, '_dappcf_i_dropdown', true); echo '

Stock #:     VIN:

'; echo '

Inventory class: '; echo '' . 'Option 1'. ''; echo '' . 'Option 2'. ''; echo '' . 'Option 3'. ''; echo '' . 'Option 4'. ''; echo '

'; } function txpbs_save_events_meta($post_id, $post) { if ( !wp_verify_nonce( $_POST['inventorymeta_noncename'], plugin_basename(__FILE__) )) { return $post->ID; } if ( !current_user_can( 'edit_post', $post->ID )) return $post->ID; $station_meta['_dappcf_i_stocknum'] = $_POST['_dappcf_i_stocknum']; $station_meta['_dappcf_i_vin'] = $_POST['_dappcf_i_vin']; $station_meta['_dappcf_i_dropdown'] = $_POST['_dappcf_i_dropdown']; foreach ($station_meta as $key => $value) { if( $post->post_type == 'revision' ) return; $value = implode(',', (array)$value); if(get_post_meta($post->ID, $key, FALSE)) { update_post_meta($post->ID, $key, $value); } else { add_post_meta($post->ID, $key, $value); } if(!$value) delete_post_meta($post->ID, $key); } }

Und ich benutze diesen Code, um meine benutzerdefinierten Felder aufzurufen, wenn sie in einem Eingabefeld angezeigt werden:

 ID, '_dappcf_i_dropdown', true); ?> 

Jede Richtung wird sehr geschätzt.

Solutions Collecting From Web of "Wie lassen sich benutzerdefinierte Meta-Begriffe in einem Pulldown-Menü in einem Thema anzeigen?"

Ich weiß immer noch nicht genau, was genau Sie anstreben, aber nachdem ich auf diese Frage zurückgekommen bin, wollte ich zumindest versuchen, eine Lösung anzubieten.

Probieren Sie es aus, und sehen Sie, ob Sie das mit dem Drop-down-Programm im Hinterkopf hatten …?

 add_action( 'add_meta_boxes', 'add_inventory_metaboxes' ); function add_inventory_metaboxes() { add_meta_box('inventory_information', 'Inventory Information', 'inventory_information', 'inventory', 'side', 'default'); } function inventory_dropdown_opts() { return array( 'Option 1' => 1, 'Option 2' => 2, 'Option 3' => 3, 'Option 4' => 4, ); } function inventory_information() { global $post; $stk_num = get_post_meta( $post->ID, '_dappcf_i_stocknum', true ); $vin_num = get_post_meta( $post->ID, '_dappcf_i_vin', true ); $drp_dwn = get_post_meta( $post->ID, '_dappcf_i_dropdown', true ); if( empty( $drp_dwn ) ) $drp_dwn = 0; wp_nonce_field( 'inventory_nonce', 'inventorymeta_noncename' ); ?> 

< ?php } add_action('save_post', 'txpbs_save_events_meta', 1, 2); function txpbs_save_events_meta( $post_id, $post ) { if( !wp_verify_nonce( $_POST['inventorymeta_noncename'], 'inventory_nonce' ) || !current_user_can( 'edit_post', $post_id ) || $post->post_type == 'revision' ) return; foreach( array( '_dappcf_i_stocknum', '_dappcf_i_vin', '_dappcf_i_dropdown' ) as $field ) { if( isset( $_POST[$field] ) ) { if( '_dappcf_i_dropdown' == $field ) { if( in_array( $_POST[$field], inventory_dropdown_opts() ) ) update_post_meta( $post_id, $field, $_POST[$field] ); continue; } update_post_meta( $post_id, $field, $_POST[$field] ); continue; } delete_post_meta( $post_id, $key ); } }

Folge # 1
Wenn Sie das Dropdown-Menü im Frontend anzeigen müssen, tun Sie es genauso wie in der inventory_information function.

   

Ihre Dropdown-Optionen sind in der function inventory_dropdown_opts definiert. Sie können also sowohl die Front- als auch die Admin-Seite verwenden und dieselben Daten sehen.