function extra_layout_menu_home_layout_link() { if (is_admin()) { return; } $home_layout_id = extra_get_home_layout_id(); $default_layout_id = extra_get_default_layout_id(); if (!empty($home_layout_id)) { $pagehook = add_submenu_page('edit.php?post_type=' . EXTRA_LAYOUT_POST_TYPE, __('Edit Home Layout', 'extra'), __('Edit Home Layout', 'extra'), 'edit_pages', 'post.php?post=' . $home_layout_id . '&action=edit'); } if (!empty($default_layout_id)) { $pagehook = add_submenu_page('edit.php?post_type=' . EXTRA_LAYOUT_POST_TYPE, __('Edit Default Layout', 'extra'), __('Edit Default Layout', 'extra'), 'edit_pages', 'post.php?post=' . $default_layout_id . '&action=edit'); } }
function et_pb_extra_add_default_layouts() { $et_builder_layouts = et_pb_extra_get_default_layouts(); $is_home_layout_exists = false; $is_index_layout_exists = false; $layout_args = array('posts_per_page' => -1, 'nopaging' => true, 'post_status' => 'publish', 'meta_key' => '_et_pb_predefined_default_layout', 'meta_value' => 'on'); $layout_args['meta_query'] = array(array('key' => '_et_pb_predefined_default_type', 'value' => 'home', 'compare' => 'IN')); // get the predefiend default home layouts $home_layouts_query = extra_get_layouts($layout_args); $layout_args['meta_query'] = array(array('key' => '_et_pb_predefined_default_type', 'value' => 'index', 'compare' => 'IN')); // get the predefiend default layouts $default_layouts_query = extra_get_layouts($layout_args); if ($home_layouts_query->posts) { $is_home_layout_exists = true; } if ($default_layouts_query->posts) { $is_index_layout_exists = true; } // do not proceed if both layouts already exist if ($is_index_layout_exists && $is_home_layout_exists) { return; } if (isset($et_builder_layouts) && is_array($et_builder_layouts)) { foreach ($et_builder_layouts as $et_builder_layout) { // do nothing if current layout already exist if (isset($et_builder_layout['default_home']) && $et_builder_layout['default_home'] && $is_home_layout_exists || isset($et_builder_layout['default_index']) && $et_builder_layout['default_index'] && $is_index_layout_exists) { continue; } $meta = array('_et_pb_predefined_default_layout' => 'on', '_et_pb_predefined_default_type' => $et_builder_layout['default_type']); // add meta for default home and index page layouts if ('home' === $et_builder_layout['default_type'] && false === extra_get_home_layout_id()) { $meta['_extra_layout_home'] = 1; } else { if ('index' === $et_builder_layout['default_type'] && false === extra_get_default_layout_id()) { $meta['_extra_layout_default'] = 1; } } et_pb_create_extra_layout($et_builder_layout['name'], $et_builder_layout['content'], $meta); } } }