示例#1
0
    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 
    }
示例#2
0
 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);
 }