Exemple #1
0
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);
         }
     }
 }