Correct way to serialize the data of options table?

The correct way to store multiple options is as a multidimensional array and save to one option field.

$myopt = array(
    'variable1' => ...
    'variable2' => ...
    ....
);

Then simply pass the array to update_option()

update_option('my_settings_field', $myopt);

If you pass an array WP will auto serialize the data for you.

Then to read back out:

$myopt = get_option('my_settings_field');

WP will auto un-serialize the data and put back into an array.

You mentioned that on options.php you see that the option is shown as SERIALIZED DATA this is because you cannot reliably edit serialized data as a string. If you want to be able to edit your options from the options.php page then you will need to save each option individually. I would not recommend this. What I recommend is that you create your own options page for editing your options. There are a number of tutorials out there that can get you started.

http://codex.wordpress.org/Creating_Options_Pages

Is a good starting point. And also check out Settings API

Leave a Comment