function option_select($o, $type = '') { $select_opts = array(); $default_text = isset($o['default_text']) ? $o['default_text'] : 'Select...'; $default = isset($o['default']) ? $o['default'] : ''; if ($type == 'menu') { $items = wp_get_nav_menus(array('orderby' => 'name')); if (is_array($items)) { foreach ($items as $m) { $select_opts[$m->term_id] = array('name' => $m->name); } } } elseif ($type == 'sidebar') { $items = pl_get_sidebars(); if (is_array($items)) { foreach ($items as $k => $m) { $select_opts[$k] = array('name' => $m); } } } elseif ($type == 'icon') { $items = pl_icons(); if (is_array($items)) { foreach ($items as $m) { $select_opts[$m] = array('name' => $m); } } } elseif ($type == 'count') { $count_start = isset($o['count_start']) ? $o['count_start'] : 0; $suffix = isset($o['suffix']) ? $o['suffix'] : ''; for ($i = $count_start; $i <= $o['count_number']; $i++) { $select_opts[$i] = array('name' => $i . $suffix); } } elseif ($type == 'imagesizes') { $items = get_intermediate_image_sizes(); if (is_array($items)) { foreach ($items as $m) { $select_opts[$m] = array('name' => $m); } } } else { if (is_array($o['opts'])) { $select_opts = $o['opts']; } } // loop through options and set 'selected' if it is set. $selected = false; foreach ($select_opts as $v => $s) { if ($o['val'] == $v) { $select_opts[$v]['val'] = 'selected'; $selected = true; break; } } // if no value was selected and a default is provided then show the default as selected. if (!$selected && $default) { $select_opts[$default]['val'] = 'selected'; } ?> <span class="description"><?php echo $o['label']; ?> </span> <select id="<?php echo $o['id']; ?> " class="pl-opt" type="select" name="<?php echo $o['name']; ?> " <?php echo $o['required']; ?> > <option value=""><?php echo $default_text; ?> </option> <?php foreach ($select_opts as $key => $s) { $val = isset($s['val']) ? $s['val'] : ''; printf('<option value="%s" %s>%s</option>', $key, $val, $s['name']); } ?> </select> <?php if ($type == 'menu') { printf('<a href="%s" class="button">Add/Edit Menus</a>', admin_url('nav-menus.php')); } ?> <?php }
function workarea_config() { global $pl_medialib, $pl_notifications; $a = array('siteName' => get_bloginfo('name'), 'siteDescription' => get_bloginfo('description'), 'plURL' => get_template_directory_uri(), 'siteURL' => do_shortcode('[pl_site_url]'), 'homeURL' => do_shortcode('[pl_home_url]'), 'uploadsURL' => do_shortcode('[pl_uploads_url]'), 'adminURL' => admin_url(), 'PLUI' => pl_framework_url('ui'), 'frontPage' => get_option('show_on_front', 'posts'), 'ajaxURL' => pl_ajax_url(), 'security' => wp_create_nonce('pl-ajax-nonce'), 'models' => array()); $a['factory'] = $this->set_factory(); // Edit current post URL $a['editPost'] = plns_edit_post_link(); // Add menus URL $a['menus'] = admin_url("nav-menus.php"); // Add/edit widgets URL $a['widgets'] = admin_url("widgets.php"); // URL of core framework $a['CoreURL'] = get_template_directory_uri(); // URL of parent theme $a['ParentStyleSheetURL'] = get_template_directory_uri(); // URL of child theme, if active $a['ChildStyleSheetURL'] = get_stylesheet_directory_uri(); $a['extendURL'] = function_exists('PL_Platform') ? PL_Platform()->url('extend') : ''; // Media library link for use in iFrame $a['mediaLibrary'] = $pl_medialib->pl_media_library_link(); // Media library videos link for use in iFrame $a['mediaLibraryVideo'] = $pl_medialib->pl_media_library_link("video"); // Add media link $a['addMediaURL'] = admin_url("media-new.php"); // ID of the currently active user $a['userID'] = wp_get_current_user()->ID; // A cache key for various settings $a['CacheKey'] = pl_cache_key(); // Is the user on localhost $a['LocalHost'] = pl_is_local(); // Is developer mode activated? $a['debug'] = pl_dev_mode() ? 'true' : 'false'; $a['btns'] = pl_btn_classes(); $a['btnSizes'] = pl_button_sizes(); $a['imgSizes'] = get_intermediate_image_sizes(); $a['animations'] = pl_animations(); $a['taxes'] = pl_get_taxonomies(); $a['icons'] = pl_icons(); $a['menus'] = pl_get_menus(); $a['sidebars'] = pl_get_sidebars(); $a['notifications'] = $pl_notifications; $a['urls'] = pl_get_system_urls(); $a['translate'] = array(); $a['locale'] = get_locale(); return apply_filters('pl_workarea_json', $a); }