only last option from theme options is being saved to the DB
Question
I have this admin page functions where I am trying to prompt the admin for some text data.
the problem that is only the last field is being saved and existed ain the DB, the top ones do not exist in the DB at all.
adding options to admin page:
register_setting( 'top-data-group', 'yourLogo');
register_setting( 'card1-group', 'card1_text');
register_setting( 'card4-group', 'card4_text');
add_settings_section('top-options', 'Top Information', 'top_options', 'top-data' );
add_settings_section('card1', 'Card 1', 'card1_options', 'top-data' );
add_settings_section('card4', 'Card 4', 'top_options', 'top-data' );
add_settings_field('yourLogo', 'Logo Image URL:', 'yourLogoImage_callback', 'top-data', 'top-options' );
add_settings_field('card1_text', 'card 1 text:', 'card1_text_callback', 'top-data', 'card1' );
add_settings_field('card4_text', 'card 4 text:', 'card4_text_callback', 'top-data', 'card4' );
callback functions:
function card1_text_callback (){
$preText = esc_attr( get_option('card1_text'));
echo ' <input type="text" name="card1_text" placeholder="card text" size="50" value="'.$preText. '" > ';
}
function card4_text_callback (){
$preText = esc_attr( get_option('card4_text'));
echo ' <input type="text" name="card4_text" placeholder="card text" size="50" value="'.$preText. '" > ';
}
function yourLogoImage_callback (){
$preText = esc_attr( get_option('yourLogoImage'));
echo ' <input type="text" name="yourLogoImage" placeholder="your Logo Image URL" size="50" value="'.$preText. '" > <p> use external or internal image url , preferred (300 * 50 px) </p>' ;
}
the form page:
<h1> Top Section </h1>
<?php settings_errors(); ?>
<form action="options.php" method="post" >
<?php
settings_fields('top-data-group');
do_settings_sections('top-data');
settings_fields('card1-group');
do_settings_sections('card1');
settings_fields('card4-group');
do_settings_sections('card4');
submit_button('save', 'primary sub-button', 'submit', true);
?>
</form>
only last option is being saved to the db, top ones are all empty.
0
add-menu-page, theme-options, wp-admin
4 years
2020-03-29T08:51:32-05:00
2020-03-29T08:51:32-05:00 0 Answers
92 views
0
Leave an answer