[wp-hackers] Subject: change siteurl at DB level

Otto otto at ottodestruct.com
Wed Aug 25 00:15:40 UTC 2010

I once changed the maybe_unserialize function specifically to handle
this case. I know it's bad to modify core like that, but this was for
a one-off.

function maybe_unserialize( $original ) {
  if ( is_serialized( $original ) ) {
    $fixed = preg_replace_callback (
'serialize_fix_callback', $original );
    return @unserialize( $fixed );
  return $original;

function serialize_fix_callback($match) { return 's:' . strlen($match[2]); }

Worked for me then. Might be useful for somebody.


On Tue, Aug 24, 2010 at 6:52 PM, David McDonald <info at davidmcdonald.org> wrote:
> Yes, serialised data needs to be taken into account when changing the
> site URL in a WP database.
> This most likely is the cause of missing widgets, as I have found some
> of the widget data to be serialised.
> This script enables a search & replace including serialised data:
>  http://spectacu.la/search-and-replace-for-wordpress-databases/
> I have used it numerous times and from my experience it works very well.

More information about the wp-hackers mailing list