I have nav_menu_options
in my WordPress database as below.
284,'nav_menu_options','a:2:{i:0;b:0;s:8:\"auto_add\";a:0:{}}'
I tried to deserialize this value but the result is empty string – I put a code snippet in <my theme>/function.php
as below
echo 'TRY #1'.'<br>';
$v = 'a:2:{i:0;b:0;s:8:\"auto_add\";a:0:{}}';
$d = unserialize($v);
print_r($d);
echo 'TRY #1 end'.'<br>';
echo 'TRY #2'.'<br>';
$v ='a:5:{s:9:"engine_id";a:1:{i:0;s:9:"300000225";}s:15:"transmission_id";a:1:{i:0;s:6:"257691";}s:5:"plant";a:1:{i:0;s:23:"Oshawa, Ontario, Canada";}s:15:"Manufactured in";a:1:{i:0;s:6:"CANADA";}s:22:"Production Seq. Number";a:1:{i:0;s:6:"151411";}}';
$d = unserialize($v);
print_r($d);
echo 'TRY #2 end'.'<br>';
The outcome of the above code is as below.
@1 the deserialized Worpdress value results as empty.
@2 a sample valid serialized value results as readable array.
So my question is Why can’t we deserialize WordPress serialized values? – this is also posted on wordpress.org here.
p.s.
1) More study on WordPress code shows that we can “decode” the discussed value by using get_option('nav_menu_options');
command.
2) The value of nav_menu_options
is the real data copied from database