Advertisement
Guest User

Theme functions.php

a guest
Jul 7th, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 13.05 KB | None | 0 0
  1. <?php
  2. /**
  3. * Class and Function List:
  4. * Function list:
  5. * - init()
  6. * - constants()
  7. * - widgets()
  8. * - plugins()
  9. * - supports()
  10. * - post_types()
  11. * - functions()
  12. * - language()
  13. * - admin_menus()
  14. * - add_metaboxes()
  15. * - theme_activated()
  16. * - _load_demo_content_page()
  17. * - _load_option_page()
  18. * Classes list:
  19. * - Theme
  20. */
  21. $theme = new Theme();
  22. $theme->init(array(
  23.         "theme_name" => "Jupiter",
  24.         "theme_slug" => "JP"
  25. ));
  26.  
  27. if (!isset($content_width)) {
  28.         $content_width = 1140;
  29. }
  30.  
  31. class Theme
  32. {
  33.         function init($options)
  34.         {
  35.                 $this->constants($options);
  36.                 add_action('init', array(&$this,
  37.                         'language'
  38.                 ));
  39.                 $this->functions();
  40.                 $this->plugins();
  41.                 $this->post_types();
  42.                 add_action('admin_menu', array(&$this,
  43.                         'admin_menus'
  44.                 ));
  45.                 add_action('init', array(&$this,
  46.                         'add_metaboxes'
  47.                 ));
  48.                 $this->theme_activated();
  49.                
  50.                 add_action('after_setup_theme', array(&$this,
  51.                         'supports'
  52.                 ));
  53.                 add_action('widgets_init', array(&$this,
  54.                         'widgets'
  55.                 ));
  56.         }
  57.        
  58.         function constants($options)
  59.         {
  60.                 define("THEME_DIR", get_template_directory());
  61.                 define("THEME_DIR_URI", get_template_directory_uri());
  62.                 define("THEME_NAME", $options["theme_name"]);
  63.                 if (defined("ICL_LANGUAGE_CODE")) {
  64.                         $lang = "_" . ICL_LANGUAGE_CODE;
  65.                 }
  66.                 else {
  67.                         $lang = "";
  68.                 }
  69.                 define("THEME_OPTIONS", $options["theme_name"] . '_options' . $lang);
  70.                 define("THEME_SLUG", $options["theme_slug"]);
  71.                 define("THEME_STYLES", THEME_DIR_URI . "/stylesheet/css");
  72.                 define("THEME_IMAGES", THEME_DIR_URI . "/images");
  73.                 define("THEME_JS", THEME_DIR_URI . "/js");
  74.                 define('FONTFACE_DIR', THEME_DIR . '/fontface');
  75.                 define('FONTFACE_URI', THEME_DIR_URI . '/fontface');
  76.                 define("THEME_FRAMEWORK", THEME_DIR . "/framework");
  77.                 define("THEME_PLUGINS", THEME_FRAMEWORK . "/plugins");
  78.                 define("THEME_ACTIONS", THEME_FRAMEWORK . "/actions");
  79.                 define("THEME_PLUGINS_URI", THEME_DIR_URI . "/framework/plugins");
  80.                 define("THEME_SHORTCODES", THEME_FRAMEWORK . "/shortcodes");
  81.                 define("THEME_WIDGETS", THEME_FRAMEWORK . "/widgets");
  82.                 define("THEME_SLIDERS", THEME_FRAMEWORK . "/sliders");
  83.                 define("THEME_HELPERS", THEME_FRAMEWORK . "/helpers");
  84.                 define("THEME_FUNCTIONS", THEME_FRAMEWORK . "/functions");
  85.                 define("THEME_CLASSES", THEME_FRAMEWORK . "/classes");
  86.                 define('THEME_ADMIN', THEME_FRAMEWORK . '/admin');
  87.                 define('THEME_METABOXES', THEME_ADMIN . '/metaboxes');
  88.                 define('THEME_ADMIN_POST_TYPES', THEME_ADMIN . '/post-types');
  89.                 define('THEME_GENERATORS', THEME_ADMIN . '/generators');
  90.                 define('THEME_ADMIN_URI', THEME_DIR_URI . '/framework/admin');
  91.                 define('THEME_ADMIN_ASSETS_URI', THEME_DIR_URI . '/framework/admin/assets');
  92.         }
  93.         function widgets()
  94.         {
  95.                 require_once locate_template("widgets/widgets-contact-form.php");
  96.                 require_once locate_template("widgets/widgets-contact-info.php");
  97.                 require_once locate_template("widgets/widgets-gmap.php");
  98.                 require_once locate_template("widgets/widgets-popular-posts.php");
  99.                 require_once locate_template("widgets/widgets-related-posts.php");
  100.                 require_once locate_template("widgets/widgets-recent-posts.php");
  101.                 require_once locate_template("widgets/widgets-social-networks.php");
  102.                 require_once locate_template("widgets/widgets-subnav.php");
  103.                 require_once locate_template("widgets/widgets-testimonials.php");
  104.                 require_once locate_template("widgets/widgets-twitter-feeds.php");
  105.                 require_once locate_template("widgets/widgets-video.php");
  106.                 require_once locate_template("widgets/widgets-flickr-feeds.php");
  107.                 require_once locate_template("widgets/widgets-instagram-feeds.php");
  108.                 require_once locate_template("widgets/widgets-news-slider.php");
  109.                 require_once locate_template("widgets/widgets-recent-portfolio.php");
  110.                 require_once locate_template("widgets/widgets-slideshow.php");
  111.                 register_widget("Artbees_Widget_Popular_Posts");
  112.                 register_widget("Artbees_Widget_Recent_Posts");
  113.                 register_widget("Artbees_Widget_Related_Posts");
  114.                 register_widget("Artbees_Widget_Twitter");
  115.                 register_widget("Artbees_Widget_Contact_Form");
  116.                 register_widget("Artbees_Widget_Contact_Info");
  117.                 register_widget("Artbees_Widget_Social");
  118.                 register_widget("Artbees_Widget_Sub_Navigation");
  119.                 register_widget("Artbees_Widget_Google_Map");
  120.                 register_widget("Artbees_Widget_Testimonials");
  121.                 register_widget("Artbees_Widget_video");
  122.                 register_widget("Artbees_Widget_Flickr_feeds");
  123.                 register_widget("Artbees_Widget_Instagram_Feeds");
  124.                 register_widget("Artbees_Widget_News_Feed");
  125.                 register_widget("Artbees_Widget_Recent_Portfolio");
  126.                 register_widget("Artbees_Widget_Slideshow");
  127.         }
  128.         function plugins()
  129.         {
  130.                 require_once locate_template("wpml-fix/mk-wpml.php");
  131.         }
  132.         function supports()
  133.         {
  134.                 add_theme_support('menus');
  135.                 add_theme_support('automatic-feed-links');
  136.                 add_theme_support('editor-style');
  137.                 register_nav_menus(array(
  138.                         'primary-menu' => 'Primary Navigation',
  139.                         'second-menu' => 'Second Navigation',
  140.                         'third-menu' => 'Third Navigation',
  141.                         'fourth-menu' => 'Fourth Navigation',
  142.                         'footer-menu' => 'Footer Navigation',
  143.                         'toolbar-menu' => 'Header Toolbar Navigation',
  144.                         'side-dashboard-menu' => 'Side Dashboard Navigation',
  145.                         'fullscreen-menu' => 'Full Screen Navigation'
  146.                 ));
  147.                 add_theme_support('post-thumbnails');
  148.                 add_image_size('jupiter-full-width', 1140, 580, true);
  149.         }
  150.         function post_types()
  151.         {
  152.                 include_once (THEME_ADMIN_POST_TYPES . '/portfolio.php');
  153.                 include_once (THEME_ADMIN_POST_TYPES . '/news.php');
  154.                 include_once (THEME_ADMIN_POST_TYPES . '/faq.php');
  155.                 include_once (THEME_ADMIN_POST_TYPES . '/employee.php');
  156.                 include_once (THEME_ADMIN_POST_TYPES . '/pricing.php');
  157.                 include_once (THEME_ADMIN_POST_TYPES . '/clients.php');
  158.                 include_once (THEME_ADMIN_POST_TYPES . '/testimonials.php');
  159.                 include_once (THEME_ADMIN_POST_TYPES . '/slideshow.php');
  160.                 include_once (THEME_ADMIN_POST_TYPES . '/edge_slider.php');
  161.                 include_once (THEME_ADMIN_POST_TYPES . '/icarousel.php');
  162.                 include_once (THEME_ADMIN_POST_TYPES . '/banner_builder.php');
  163.                 include_once (THEME_ADMIN_POST_TYPES . '/animated_columns.php');
  164.                 include_once (THEME_ADMIN_POST_TYPES . '/tab_slider.php');
  165.         }
  166.         function functions()
  167.         {
  168.                 include_once (ABSPATH . 'wp-admin/includes/plugin.php');
  169.                 require_once (THEME_FUNCTIONS . "/general-functions.php");
  170.                 require_once (THEME_FUNCTIONS . "/bfi_cropping.php");
  171.                 require_once (THEME_FUNCTIONS . "/vc-integration.php");
  172.                 require_once (THEME_FUNCTIONS . "/ajax-search.php");
  173.                 require_once (THEME_CLASSES . "/wp-nav-custom-walker.php");
  174.                 require_once (THEME_FUNCTIONS . "/enqueue-front-scripts.php");
  175.                 require_once (THEME_CLASSES . "/love-this.php");
  176.                 require_once (THEME_GENERATORS . '/sidebar-generator.php');
  177.                 require_once (THEME_FRAMEWORK . "/tgm-plugin-activation/request-plugins.php");
  178.                 include_once (THEME_ADMIN_POST_TYPES . '/news.php');
  179.                 include_once (THEME_ADMIN_POST_TYPES . '/faq.php');
  180.                 include_once (THEME_ADMIN_POST_TYPES . '/portfolio.php');
  181.                
  182.                 require_once locate_template('framework/actions/header.php');
  183.                 require_once locate_template('framework/actions/general.php');
  184.                 require_once locate_template('framework/actions/post.php');
  185.                 require_once locate_template('framework/actions/slideshow.php');
  186.                
  187.                 require_once (THEME_FUNCTIONS . "/dynamic-styles.php");
  188.                 require_once (THEME_FUNCTIONS . "/mk-woocommerce.php");
  189.                
  190.                 if (is_admin()) {
  191.                         include_once (THEME_ADMIN . '/general/general-functions.php');
  192.                         include_once (THEME_ADMIN . '/general/mega-menu.php');
  193.                         include_once (THEME_ADMIN . '/general/icon-library.php');
  194.                         include_once (THEME_ADMIN . '/generators/option-generator.php');
  195.                         include_once (THEME_ADMIN . '/general/backend-enqueue-scripts.php');
  196.                         include_once (THEME_ADMIN . '/admin-panel/masterkey-ajax-calls.php');
  197.                 }
  198.         }
  199.         function language()
  200.         {
  201.                 $locale = get_locale();
  202.                 load_theme_textdomain('mk_framework', get_stylesheet_directory() . '/languages');
  203.                 $locale_file = get_stylesheet_directory() . "/languages/$locale.php";
  204.                 if (is_readable($locale_file)) {
  205.                         require_once ($locale_file);
  206.                 }
  207.         }
  208.        
  209.         function admin_menus()
  210.         {
  211.                 add_menu_page(__('Theme Options', 'mk_framework') , __('Theme Options', 'mk_framework') , 'edit_theme_options', 'masterkey', array(&$this,
  212.                         '_load_option_page'
  213.                 ) , 'dashicons-admin-network');
  214.                
  215.                 add_submenu_page('themes.php', 'Install Templates', 'Install Templates', 'manage_options', 'demo-importer', array(&$this,
  216.                         '_load_demo_content_page'
  217.                 ));
  218.         }
  219.        
  220.         function add_metaboxes()
  221.         {
  222.                 include_once (THEME_GENERATORS . '/metabox-generator.php');
  223.                 include_once (THEME_METABOXES . '/metabox-posts.php');
  224.                 include_once (THEME_METABOXES . '/metabox-employee.php');
  225.                 include_once (THEME_METABOXES . '/metabox-slideshow.php');
  226.                 include_once (THEME_METABOXES . '/metabox-clients.php');
  227.                 include_once (THEME_METABOXES . '/metabox-testimonials.php');
  228.                 include_once (THEME_METABOXES . '/metabox-icarousel.php');
  229.                 include_once (THEME_METABOXES . '/metabox-pricing.php');
  230.                 include_once (THEME_METABOXES . '/metabox-banner-video.php');
  231.                 include_once (THEME_METABOXES . '/metabox-news.php');
  232.                 include_once (THEME_METABOXES . '/metabox-edge.php');
  233.                 include_once (THEME_METABOXES . '/metabox-portfolios.php');
  234.                 include_once (THEME_METABOXES . '/metabox-posts-slideshow.php');
  235.                 include_once (THEME_METABOXES . '/metabox-skinning.php');
  236.                 include_once (THEME_METABOXES . '/metabox-animated-columns.php');
  237.                 include_once (THEME_METABOXES . '/metabox-tab-slider.php');
  238.                 include_once (THEME_METABOXES . '/metabox-pages.php');
  239.                 include_once (THEME_METABOXES . '/metabox-footer-widgets.php');
  240.         }
  241.        
  242.         function theme_activated()
  243.         {
  244.                 if ('themes.php' == basename($_SERVER['PHP_SELF']) && isset($_GET['activated']) && $_GET['activated'] == 'true') {
  245.                         update_option('woocommerce_enable_lightbox', "no");
  246.                         wp_redirect(admin_url('admin.php?page=masterkey'));
  247.                         flush_rewrite_rules();
  248.                 }
  249.         }
  250.        
  251.         function _load_demo_content_page()
  252.         {
  253.                 include_once (THEME_DIR . '/demo-importer/engine/index.php');
  254.         }
  255.        
  256.         function _load_option_page()
  257.         {
  258.                
  259.                 $page = include (THEME_ADMIN . '/admin-panel/masterkey.php');
  260.                 new mkOptionGenerator($page['name'], $page['options']);
  261.         }
  262. }
  263. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement