Support » Plugin: Custom Post Type UI » get_option unserialization fail

  • Resolved dmayak

    (@dmayak)


    I have been using this plugin on a few websites already and all was working fine until I have moved one of them to another server. On new server custom post types registered with plugin has not showed up and were not registered. After some debugging I found out that for some reason serialized string, which is stored in database (‘cpt_custom_post_types’), is retrieved to plugin function cpt_create_custom_taxonomies() unserialized, as string, but then you check it to be array:

    //check if option value is an array before proceeding
    	if ( is_array( $cpt_tax_types ) ) {

    I have checked the string, its totally valid and unserialize() processing it without trouble, so must be under some conditions get_option fails to identify if it’s serialized. It’s not your bug, but considering how much support threads I see with disappearing post types and taxonomies, maybe you should counter this by checking the value received from get_option to be unserialized string:

    if(!is_array($cpt_post_types)){
    	$test_serialize=unserialize($cpt_post_types);
    	if($test_serialize){
    		$cpt_post_types=$test_serialize;
    	}
    }

    After I have set such check after every get_option call, plugin has fully restored its functionality. So this may be one of the reasons custom post types or taxonomies not working.

    https://wordpress.org/plugins/custom-post-type-ui/

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Michael Beckwith

    (@tw2113)

    The BenchPresser

    Hi,

    Thanks for this. I’m not sure I want to call it a bug outright, but it’s something I’ll definitely want to keep in mind for the next version. It’s getting a big overhaul including how the settings are stored, so this will be a good one to keep in mind as I keep working on it. That said, I need to get back on that as well, I fell behind there :).

    If you’re a GitHub user, do you think you could go file an issue for this? https://github.com/WebDevStudios/custom-post-type-ui/issues

    If not, just let me know and I can create an issue for it a bit later.

    As I said its not your bug but a sudden partial fail of some core function, used to check values received from database. Few other plugins also had its functionality paralyzed by this. Possibly its a fault of server or php configurations. Still, making a check for this failure will be more reliable and possibly resolve some other “missing post type/taxonomy” issues. I am registered on GitHub and will file an issue there.

    Plugin Author Michael Beckwith

    (@tw2113)

    The BenchPresser

    Since I caused you to register there, I hope you fall in love with git version control and start using it for all projects 🙂 Git and GitHub are wonderful tools.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘get_option unserialization fail’ is closed to new replies.