Desenvolvimento de Widget – as opções suspensas não serão salvas

Então, eu com sucesso consegui adicionar uma opção suspensa, o problema é quando eu clique em salvar todas as opções são removidas, porém a opção escolhida é implementada com sucesso.

Aqui está o código relevante:

function widget($args, $instance) { extract( $args ); $pfxattribution = $instance['pfx-attribution']; } 

<label for="get_field_id('pfx-attribution'); ?>"> <select id="get_field_id('pfx-attribution'); ?>" name="get_field_name('pfx-attribution'); ?>" class="widefat" /> Purefx Foreign Exchange Currency Exchange

function update($new_instance, $old_instance) { // Get the old values $instance = $old_instance; // Update with any new values (and sanitise input) $instance['pfx-attribution'] = strip_tags( $new_instance['pfx-attribution'] ); return $instance; }

Qualquer ajuda é muito apreciada

Solutions Collecting From Web of "Desenvolvimento de Widget – as opções suspensas não serão salvas"

Danny, isso é bastante levantado diretamente de um plug-in que eu fiz:

  < ?php function form($instance){ $instance = wp_parse_args( (array) $instance, $this->w_arg ); ?> 

< ?php } ?>

Sem ver o resto do seu código, não posso ter certeza da raiz do problema, mas pode ser que o formulário não esteja envolvido dentro da function de formulário. Se o acima não parece funcionar para você, talvez não seja sua Classe de Widget?

Eu deveria talvez acrescentar que minha class de widget possui uma variável w_arg , uma série de padrões! Por exemplo

 var $w_arg = array( 'order'=> 'ASC' ); 

Seu s precisa de value= ou eles não enviam nenhum valor … essencialmente agora value='' , o que é, eu aposto, o que você está vendo.

Seu não deve ter um atributo de value , nem o atributo type="text" .