Einstellungsfeld: Speichern mehrerer Optionen

Auf einer Optionen-Seite habe ich ein Einstellungsfeld mit einer HTML- select mit dem Attribut multiple . Die options select werden dynamisch von benutzerdefinierten Beitragstypen ausgefüllt, alles ist in Ordnung. Ich kann einen Wert in ein Array speichern, aber nicht mehr. Dies ist der aktuelle var_dump :

 array(1) { ["awc_cpt"]=> string(12) "board_member" } 

Im Idealfall möchte ich das Array zurückgeben:

 array( "board_member" => "board_member", "another_cpt" => "another_cpt", // and so on for as many Custom Post Types as needed ) 

Ich bin ein Anfänger bei PHP, daher fehlen mir vielleicht einige Grundlagen.

Frage: Wie speichere ich mehrere ausgewählte options in einem Array?

 awc_redirect_options = get_option( 'awc_redirect_option_name' ); ?> 

AWC Redirect

AWC_get_post_types(); ?> true public function AWC_get_post_types(){ $post_types = $this->AWC_list_post_types(); $op = ''; foreach ( $post_types as $post_type ) { $op .= $this->AWC_get_post_details( $post_type ); } return $op; } public function AWC_list_post_types(){ $args = array( 'public' => true, '_builtin' => false ); $output = 'names'; // names or objects, note names is the default $operator = 'and'; // 'and' or 'or' $op = ''; $post_types = get_post_types( $args, $output, $operator ); return $post_types; } // loop through and spit out into . If they are set, mark as selected. public function AWC_get_post_details( $post_type ){ $op = get_post_type_object( $post_type ); if( !$post_type || false === $op->has_archive ){ return; } $name = $op->name; $label = $op->label; $archive_link = get_post_type_archive_link( $post_type ); // Had to do the following because array_push doesn't work on an empty variable... // ...so set it with the first, push with the rest. if( empty( $this->non_archived_posts ) ){ $this->non_archived_posts[] = $name; } else{ array_push( $this->non_archived_posts, $name ); } $selected = (isset( $this->awc_redirect_options['awc_cpt'] ) && $this->awc_redirect_options['awc_cpt'] === $name ) ? 'selected' : ''; $select_options = ' ' . $label . ' '; return $select_options; } public function AWC_template_redirect(){ $post_types = $this->AWC_list_post_types(); foreach( $post_types as $cpt ){ if ( is_singular( $cpt ) && get_post_type_object( $cpt )->has_archive ) { $redirectLink = get_post_type_archive_link( $cpt ); wp_redirect( $redirectLink, 302 ); exit; } } } } $awc_redirect = new AWC_Redirect();

Solutions Collecting From Web of "Einstellungsfeld: Speichern mehrerer Optionen"