Plugin not deleting old MySQL rows
-
Hi everyone,
I’m updating a plugin of mine that has been neglected for a while, and one of the things I’m changing is how the options are stored.
I want to use an array instead of individual options. To clean up afterwards, I want the old rows deleted. This is what I have so far:
function MyFunction() { $new_options = array( 'html' => 'option1', 'fromaddress' => 'option2', 'from' => 'option3', 'subject' => 'option4', 'text' => 'option5', 'adminsubject' => 'option6', 'admintext' => 'option7' ); // if old options exist, update to new system foreach( $new_options as $key => $value ) { if( $existing = get_option( 'newuseremail' . $key ) ) { $new_options[$key] = $existing; delete_option( 'newuseremail' . $key ); } } update_option('newuseremail_options', $new_options); }where newuseremail_options is the name of the option in the table, and newuseremail + suffix of new key was the old option name.
When I save the options going from the old style to the new, the new array gets added, but the old options don’t get deleted.
What am I doing wrong here?
The whole plugin code is in the pastebin, but its a little bit messy at the moment, and there might appear to be some irrelevant parts.
Thanks in advance
Alex
The topic ‘Plugin not deleting old MySQL rows’ is closed to new replies.