예제 #1
0
파일: menus.php 프로젝트: pwzCypher/wp-push
function wpgrade_register_custom_menus()
{
    add_theme_support('menus');
    $menus = wpgrade::confoption('import_nav_menu');
    foreach ($menus as $key => $value) {
        register_nav_menu($key, $value);
    }
}
예제 #2
0
파일: hooks.php 프로젝트: pwzCypher/wp-push
/**
 * ...
 */
function wpgrade_callback_themesetup()
{
    // General Purpose Resource Handling
    // ---------------------------------
    // register resources
    add_action('wp_enqueue_scripts', 'wpgrade_callback_register_theme_resources', 1);
    // auto-enque based on configuration entries and callbacks
    add_action('wp_enqueue_scripts', 'wpgrade_callback_enqueue_theme_resources', 1);
    $themeconfiguration = wpgrade::config();
    // Specialized Resource Handling
    // -----------------------------
    // extra script equeue handlers
    foreach ($themeconfiguration['resources']['script-enqueue-handlers'] as $callback) {
        if ($callback !== null) {
            if (!is_array($callback)) {
                add_action('wp_enqueue_scripts', $callback, 10);
            } else {
                // $callback is array
                if (!empty($callback['handler'])) {
                    isset($callback['priority']) or $callback['priority'] = 10;
                    add_action('wp_enqueue_scripts', $callback['handler'], $callback['priority']);
                }
            }
        }
    }
    // extra style equeue handlers
    foreach ($themeconfiguration['resources']['style-enqueue-handlers'] as $callback) {
        if ($callback !== null) {
            if (!is_array($callback)) {
                add_action('wp_enqueue_scripts', $callback, 10);
            } else {
                // $callback is array
                if (!empty($callback['handler'])) {
                    isset($callback['priority']) or $callback['priority'] = 10;
                    add_action('wp_enqueue_scripts', $callback['handler'], $callback['priority']);
                }
            }
        }
    }
    // some info
    add_action('after_switch_theme', 'wpgrade_callback_gtkywb');
    // custom javascript handlers - make sure it is the last one added
    add_action('wp_head', 'wpgrade_callback_load_custom_js', 999);
    add_action('wp_footer', 'wpgrade_callback_load_custom_js_footer', 999);
    if (wpgrade::option('inject_custom_css') == 'inline') {
        $handler = wpgrade::confoption('custom-css-handler', null);
        if (empty($handler)) {
            $handler = 'wpgrade_callback_inlined_custom_style';
        }
        add_action('wp_enqueue_scripts', $handler, 999999);
    }
}
예제 #3
0
function wpgrade_custom_thumbnails()
{
    // Add theme support for Featured Images
    add_theme_support('post-thumbnails');
    $sizes = wpgrade::confoption('thumbnails_sizes');
    if (!empty($sizes)) {
        foreach ($sizes as $size_key => $values) {
            $width = 0;
            if (isset($values['width'])) {
                $width = $values['width'];
            }
            $height = 0;
            if (isset($values['height'])) {
                $height = $values['height'];
            }
            $hard_crop = false;
            if (isset($values['hard_crop'])) {
                $hard_crop = $values['hard_crop'];
            }
            add_image_size($size_key, $width, $height, $hard_crop);
        }
    }
}
예제 #4
0
<?php

// add theme support for post formats
$post_formats = wpgrade::confoption('post-formats', array());
if (!empty($post_formats)) {
    add_theme_support('post-formats', $post_formats);
}
//add theme support for RSS feed links automatically generated in the head section
add_theme_support('automatic-feed-links');
//tell galleries and captions to behave nicely and use HTML5 markup
add_theme_support('html5', array('gallery', 'caption'));
/*  for PRO users! - *
 * http://codex.wordpress.org/Content_Width
 */
if (!isset($content_width)) {
    $content_width = 960;
}
예제 #5
0
// the handler is the main object responsible for managing the drivers
wpgrade::options_handler(new WPGradeOptions());
# [!!] driver priority works like a LIFO stack, last in = highest priority
// register basic configuration driver
$config = wpgrade::config();
wpgrade::options()->add_optiondriver(new WPGradeOptionDriver_Config($config['theme-options']));
// we register redux as option driver via a resolver
function wpgrade_callback_bootstrap_redux_instance($redux)
{
    $reduxdriver = new WPGradeOptionDriver_Redux($redux);
    wpgrade::options()->add_optiondriver($reduxdriver);
}
wpgrade::register_resolver('redux-instance', 'wpgrade_callback_bootstrap_redux_instance');
// Plugins & Resolvable Dependencies
// ---------------------------------
require wpgrade::themefilepath(wpgrade::confoption('theme-adminpanel-path', 'theme-content/admin-panel') . '/bootstrap' . EXT);
// Hooks
// -----
get_template_part('wpgrade-core/hooks');
// Upgrade Notifier
// ----------------
add_action('wp_ajax_wpgrade_upgradestep_check_marketplace_data', 'wpgrade_ajax_upgradestep_check_marketplace_data');
add_action('wp_ajax_wpgrade_upgradestep_search_for_update', 'wpgrade_ajax_upgradestep_search_for_update');
add_action('wp_ajax_wpgrade_upgradestep_backup_theme', 'wpgrade_ajax_upgradestep_backup_theme');
add_action('wp_ajax_wpgrade_upgradestep_analyze_download_options', 'wpgrade_ajax_upgradestep_analyze_download_options');
add_action('wp_ajax_wpgrade_upgradestep_download_package', 'wpgrade_ajax_upgradestep_download_package');
add_action('wp_ajax_wpgrade_upgradestep_install_package', 'wpgrade_ajax_upgradestep_install_package');
if (is_admin() && basename($_SERVER["PHP_SELF"]) != 'update-core.php') {
    add_action('admin_enqueue_scripts', 'wpgrade_callback_update_notifier_admin_initialization');
    add_action('admin_menu', 'wpgrade_callback_update_notifier_menu');
    add_action('admin_bar_menu', 'wpgrade_callback_update_notifier_bar_menu', 1000);
예제 #6
0
 function __construct()
 {
     $db_key_name = wpgrade::confoption('shortname', 'redux') . '_options';
     //add_filter( 'redux/options/bucket_options/args', array( $this, 'wpgrade_make_redux_wpml_ready'), 1, 1 );
     add_action('redux/construct', array($this, 'wpgrade_make_redux_wpml_ready'));
 }
예제 #7
0
            if ($folder === '.' or $folder === '..' or !is_dir($path . $folder)) {
                continue;
            }
            $extension_class = 'ReduxFramework_Extension_' . $folder;
            if (!class_exists($extension_class)) {
                // In case you wanted override your override, hah.
                $class_file = $path . $folder . '/extension_' . $folder . '.php';
                $class_file = apply_filters('redux/extension/' . $ReduxFramework->args['opt_name'] . '/' . $folder, $class_file);
                if (file_exists($class_file)) {
                    require_once $class_file;
                    $extension = new $extension_class($ReduxFramework);
                }
            }
        }
    }
    $redux_opt_name = wpgrade::confoption('shortname', 'redux') . '_options';
    add_action("redux/extensions/{$redux_opt_name}/before", 'wpgrade_register_custom_extension_loader', 0);
}
add_action('redux/page/' . wpgrade::$shortname . '_options/sections/after', 'wpgrade_hook_after_redux_sections');
function wpgrade_hook_after_redux_sections()
{
    echo '<h3 id="floating-title"></h3>';
}
add_action('redux/options/' . wpgrade::$shortname . '_options/settings/change', 'wpgrade_hook_after_redux_save_btn');
function wpgrade_hook_after_redux_save_btn()
{
    echo '<div class="reset-menu_wrapper"><label class="reset-menu_cog" for="reset-menu_trigger"><i class="icon-cog-1"></i></label><input type="checkbox" id="reset-menu_trigger" />';
    echo '<div class="reset-menu"><ul class="reset-menu_list"><li>';
    submit_button(__('Reset Section', 'redux-framework'), 'secondary', wpgrade::$shortname . '_options' . '[defaults-section]', false);
    echo '</li><li>';
    submit_button(__('Reset All', 'redux-framework'), 'secondary', wpgrade::$shortname . '_options' . '[defaults]', false);
예제 #8
0
 function set_menus()
 {
     //get all registered menu locations
     $locations = get_theme_mod('nav_menu_locations');
     //get all created menus
     $wpGrade_menus = wp_get_nav_menus();
     //get the configuration
     $menu_conf = wpgrade::confoption('import_nav_menu');
     if (!empty($wpGrade_menus) && !empty($menu_conf)) {
         foreach ($wpGrade_menus as $wpGrade_menu) {
             //check if we got a menu that corresponds to the Menu name array ($wpGrade_config->get('nav_menus')) we have set in menus.php
             if (is_object($wpGrade_menu) && in_array($wpGrade_menu->name, $menu_conf)) {
                 $key = array_search($wpGrade_menu->name, $menu_conf);
                 if ($key !== false) {
                     //if we have found a menu with the correct menu name apply the id to the menu location
                     $locations[$key] = $wpGrade_menu->term_id;
                 }
             }
         }
     }
     //update the theme with the new menus in the right location
     set_theme_mod('nav_menu_locations', $locations);
     return true;
 }
예제 #9
0
 /**
  * @return string uri to resource file
  */
 static function resourceuri($file)
 {
     return wpgrade::uri(wpgrade::confoption('resource-path', 'theme-content') . '/' . ltrim($file, '/'));
 }