Skip Navigation

[Résolu] Integrate theme options "Layout Settings" with custom post type

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

No supporters are available to work today on Toolset forum. Feel free to create tickets and we will handle it as soon as we are online. Thank you for your understanding.

Marqué : 

This topic contains 4 réponses, has 2 voix.

Last updated by Eric Il y a 6 années et 3 mois.

Assigned support staff: Beda.

Auteur
Publications
#311088
Screen Shot 2015-06-18 at 8.02.20 AM.png
Screen Shot 2015-06-18 at 8.01.55 AM.png

I am trying to:

In the editor for a custom post type (created with Types), I want to see the same "Layout Settings" meta box that appears when editing other posts and pages in my theme, which is called "HighEnd".

In the screenshots you'll see that the "Add New Post" editor has a "Layout Settings" box in the sidebar, whereas the "Add New Webinar" doesn't.

Note: I must have accidentally marked this as "resolved" when I posted earlier this morning. I definitely still need help.

Thanks,
Eric

#311145

Thank you for contacting us here in the Support Forum and for providing the Debug Informations

It would be good that you first update your Types Plugin to it's latest version. Can you do this please?

❌ Be sure to backup your database first before you proceed! ❌
⌥ You can use a plugin for this if you like.
I often use the Duplicator plugin for this purpose.
See: http://wordpress.org/plugins/duplicator/

I see this "Layout Settings" meta box is added by your theme or a plugin, right?

It is not a part of Toolset.

I assume you have all "screen options" enabled in your Editor Screen on top of the screen, just beneath the "help" tab?

It is necessary to know if the author of the theme or plugin perhaps registered that "Layout Settings" meta box only for pages and posts.

As example, you can register taxonomy (tags) for certain post types or set to "null".

If set to "null", they apply to all post types.
If a certain post type is set, they will only appear on the set post type screens

I assume a similar issue here.

The Author of the theme or plugin should be contacted in this case.

Please let me know if you have further questions regarding the issue mentioned in this Thread

Thank you

#311151

I'm running Types 1.6.4. There's no notice to update it in the admin. Is there a newer version?

I'm already backed up.

Yes, "Layout Settings" is part of the theme.

I'm aware "Layout Settings" is not a part of Toolset.

Yes, all screen options are enabled for the custom post type, however "Layout Settings" doesn't exist in the screen options area for the custom post type.

Do you have any idea in what file should I look to determine if the author of the theme registered the "Layout Settings" meta box only for pages and posts?

I asked the theme author about this issue, and he said I should contact the developer of the plugin I used to create the custom post type.

#311156

OK, I dug around the parent theme and found this in functions.php

$mb_post_settings  = new VP_Metabox(array(
            'id' => 'layout_settings',
            'types' => array(
                'post',
                'page',
                'webinars'
            ),
            'title' => __('Layout Settings', 'hbthemes'),
            'priority' => 'low',
            'is_dev_mode' => false,
            'context' => 'side',
            'template' => $mb_path_layout_settings
        ));

As you can see, I added 'webinars' (my custom post type) to the array. That did the trick. Only problem is I've edited the functions.php in the parent theme, which is no good. I've asked the theme developer for help in writing the proper code to put in the child theme's functions.php.

#311157

Maybe this will help someone else who's using HighEnd theme...

Here's what I ended up putting in the child theme functions.php:

add_filter('hb_init_metaboxes', 'metaboxes_for_cpts', 20 ); 

function metaboxes_for_cpts() {
	
	$mb_post_settings = new VP_Metabox(array(
            'id' => 'layout_settings',
            'types' => array(
                'post',
                'page',
                'webinars'
            ),
            'title' => __('Layout Settings', 'hbthemes'),
            'priority' => 'low',
            'is_dev_mode' => false,
            'context' => 'side',
            'template' => $mb_path_layout_settings
        ));
	
}