As opções de plugins não serão salvas no banco de dados

4

Não tenho certeza do que está acontecendo aqui, pois isso funcionou em outro plug-in que eu criei. Estou simplesmente tentando armazenar dados na tabela de opções. Aqui está o código que estou usando:

function on_myplugin_start () {         
register_setting('first_tab_options', 'first_tab_items');
}

add_action('admin_init','on_myplugin_start');

Aqui está o formulário que é enviado:

<form action="options.php" method="post" >
<?php
 settings_fields( 'first_tab_options' );
 ?>
<input type="text" name="some_name" value="">
<input type="submit" value="Save Settings" name="submit" class="button-primary">
</form>

É isso ... quando eu olho para o código-fonte, tudo parece bem ... há todos os campos ocultos colocados pela API de configurações ... mas quando eu coloco um valor e clico em enviar (e ele diz com sucesso salvo, nada está no campo do banco de dados que foi criado com sucesso (first_tab_items).

Eu gostaria de receber ajuda sobre isso ... obrigado

    
por Allen 12.08.2012 / 00:27

2 respostas

9

... porque seu nome de entrada (POST) precisa corresponder ao nome da sua chamada register_setting :

register_setting( 'first_tab_options', 'first_tab_items' );
....
<input type="text" name="first_tab_items"...

Caso contrário, como é que o WP sabe que some_name no POST detém os dados da sua opção? ;)

    
por TheDeadMedic 12.08.2012 / 00:33
0

Adicionando a resposta do TheDeadMedic: se você quiser registrar apenas uma configuração para um formulário inteiro como você sugeriu, você pode usar uma matriz:

<form action="options.php" method="post" >
<?php
    settings_fields( 'first_tab_options' );
?>
<input type="text" name="first_tab_items[some_name]" value="">
<input type="text" name="first_tab_items[some_name2]" value="">
<input type="submit" value="Save Settings" name="submit" class="button-primary">
</form>

E registre-se:

register_setting('first_tab_options', 'first_tab_items');
    
por Ynhockey 23.01.2018 / 09:55