Advertisement
Guest User

Functions

a guest
Jun 4th, 2014
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.94 KB | None | 0 0
  1. <?php
  2. // Translation
  3. load_theme_textdomain('Avada', TEMPLATEPATH.'/languages');
  4.  
  5. // Default RSS feed links
  6. add_theme_support('automatic-feed-links');
  7.  
  8. // Allow shortcodes in widget text
  9. add_filter('widget_text', 'do_shortcode');
  10.  
  11. // Register Navigation
  12. register_nav_menu('main_navigation', 'Main Navigation');
  13. register_nav_menu('top_navigation', 'Top Navigation');
  14. register_nav_menu('404_pages', '404 Useful Pages');
  15.  
  16. // Content Width
  17. if (!isset( $content_width )) $content_width = 1000;
  18.  
  19. /* Options Framework */
  20. require_once('admin/index.php');
  21.  
  22. // Auto plugin activation
  23. if(get_option('avada_int_plugins', '0') == '0') {
  24. global $wpdb;
  25. $wpdb->query("UPDATE ". $wpdb->options ." SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';");
  26. $wpdb->query("UPDATE ". $wpdb->sitemeta ." SET meta_value = 'a:0:{}' WHERE meta_key = 'active_plugins';");
  27. update_option('avada_int_plugins', '1');
  28. }
  29.  
  30. if(get_option('avada_int_plugins', '0') == '1') {
  31. /**************************/
  32. /* Include LayerSlider WP */
  33. /**************************/
  34.  
  35. $layerslider = get_template_directory() . '/framework/plugins/LayerSlider/layerslider.php';
  36. include $layerslider;
  37.  
  38. // Activate the plugin if necessary
  39. if(get_option('avada_layerslider_activated', '0') == '0') {
  40. // Run activation script
  41. layerslider_activation_scripts();
  42.  
  43. // Save a flag that it is activated, so this won't run again
  44. update_option('avada_layerslider_activated', '1');
  45. }
  46.  
  47. /**************************/
  48. /* Include RevSlider WP */
  49. /**************************/
  50.  
  51. $revslider = get_template_directory() . '/framework/plugins/revslider/revslider.php';
  52. include $revslider;
  53.  
  54. // Activate the plugin if necessary
  55. if(get_option('avada_revslider_activated', '0') == '0') {
  56. if(!class_exists('RevSliderAdmin')) {
  57. $revslider_admin_script = get_template_directory() . '/framework/plugins/revslider/revslider_admin.php';
  58. include $revslider_admin_script;
  59. }
  60.  
  61. // Run activation script
  62. $revslider_admin = new RevSliderAdmin($revslider);
  63. $revslider_admin->onActivate();
  64.  
  65. // Save a flag that it is activated, so this won't run again
  66. update_option('avada_revslider_activated', '1');
  67. }
  68.  
  69. /**************************/
  70. /* Include Flexslider WP */
  71. /**************************/
  72.  
  73. $flexslider = get_template_directory() . '/framework/plugins/tf-flexslider/wooslider.php';
  74. include $flexslider;
  75.  
  76. /**************************/
  77. /* Include Posts Type Order */
  78. /**************************/
  79.  
  80. $pto = get_template_directory() . '/framework/plugins/post-types-order/post-types-order.php';
  81. include $pto;
  82. }
  83.  
  84. // Double check if rev slider table exists
  85. if(get_option('avada_revslider_activated', '0') == '1') {
  86. global $wpdb;
  87. $revslider_db_exists = $wpdb->get_results("SHOW TABLES LIKE '".$wpdb->prefix."revslider_slides'");
  88. if(!$revslider_db_exists) {
  89. if(!class_exists('RevSliderAdmin')) {
  90. $revslider_admin_script = get_template_directory() . '/framework/plugins/revslider/revslider_admin.php';
  91. include $revslider_admin_script;
  92. }
  93.  
  94. // Run activation script
  95. $revslider_admin = new RevSliderAdmin($revslider);
  96. $revslider_admin->onActivate();
  97. }
  98.  
  99. $revslider_siteid_exists = $wpdb->get_results("SHOW COLUMNS FROM ".$wpdb->prefix."revslider_sliders LIKE 'siteid'");
  100. if(!$revslider_siteid_exists) {
  101. if(!class_exists('RevSliderAdmin')) {
  102. $revslider_admin_script = get_template_directory() . '/framework/plugins/revslider/revslider_admin.php';
  103. include $revslider_admin_script;
  104. }
  105.  
  106. // Run activation script
  107. $revslider_admin = new RevSliderAdmin($revslider);
  108. $revslider_admin->onActivate();
  109.  
  110. $wpdb->query("ALTER TABLE ".$wpdb->prefix."revslider_sliders ADD COLUMN siteid int");
  111. }
  112. }
  113.  
  114.  
  115. // Check for theme updates
  116. /*if($data['tf_username'] && $data['tf_api']) {
  117. $envato = get_template_directory() . '/framework/plugins/envato-wordpress-toolkit-library/class-envato-wordpress-theme-upgrader.php';
  118. include $envato;
  119. $upgrader = new Envato_WordPress_Theme_Upgrader($data['tf_username'], $data['tf_api']);
  120. $check_upgrade = $upgrader->check_for_theme_update('Avada');
  121. var_dump($check_upgrade);
  122. if($check_upgrade->updated_themes_count && $data['tf_update']) {
  123. $upgrader->upgrade_theme();
  124. }
  125. }*/
  126.  
  127. // Metaboxes
  128. include_once('framework/metaboxes.php');
  129.  
  130. // Extend Visual Composer
  131. include_once('shortcodes.php');
  132.  
  133. // Custom Functions
  134. include_once('framework/custom_functions.php');
  135.  
  136. // Plugins
  137. include_once('framework/plugins/multiple_sidebars.php');
  138.  
  139. // Widgets
  140. include_once('widgets/widgets.php');
  141.  
  142. // Add post thumbnail functionality
  143. add_theme_support('post-thumbnails');
  144. add_image_size('blog-large', 669, 272, true);
  145. add_image_size('blog-medium', 320, 202, true);
  146. add_image_size('tabs-img', 52, 50, true);
  147. add_image_size('related-img', 180, 138, true);
  148. add_image_size('portfolio-one', 540, 272, true);
  149. add_image_size('portfolio-two', 460, 295, true);
  150. add_image_size('portfolio-three', 300, 214, true);
  151. add_image_size('portfolio-four', 220, 161, true);
  152. add_image_size('portfolio-full', 940, 400, true);
  153. add_image_size('recent-posts', 660, 405, true);
  154. add_image_size('recent-works-thumbnail', 66, 66, true);
  155.  
  156. // Register widgetized locations
  157. if(function_exists('register_sidebar')) {
  158. register_sidebar(array(
  159. 'name' => 'Blog Sidebar',
  160. 'before_widget' => '<div id="%1$s" class="widget %2$s">',
  161. 'after_widget' => '</div>',
  162. 'before_title' => '<div class="heading"><h3>',
  163. 'after_title' => '</h3></div>',
  164. ));
  165.  
  166. register_sidebar(array(
  167. 'name' => 'Footer Widget 1',
  168. 'before_widget' => '<div id="%1$s" class="footer-widget-col %2$s">',
  169. 'after_widget' => '</div>',
  170. 'before_title' => '<h3>',
  171. 'after_title' => '</h3>',
  172. ));
  173.  
  174. register_sidebar(array(
  175. 'name' => 'Footer Widget 2',
  176. 'before_widget' => '<div id="%1$s" class="footer-widget-col %2$s">',
  177. 'after_widget' => '</div>',
  178. 'before_title' => '<h3>',
  179. 'after_title' => '</h3>',
  180. ));
  181.  
  182. register_sidebar(array(
  183. 'name' => 'Footer Widget 3',
  184. 'before_widget' => '<div id="%1$s" class="footer-widget-col %2$s">',
  185. 'after_widget' => '</div>',
  186. 'before_title' => '<h3>',
  187. 'after_title' => '</h3>',
  188. ));
  189.  
  190. register_sidebar(array(
  191. 'name' => 'Footer Widget 4',
  192. 'before_widget' => '<div id="%1$s" class="footer-widget-col %2$s">',
  193. 'after_widget' => '</div>',
  194. 'before_title' => '<h3>',
  195. 'after_title' => '</h3>',
  196. ));
  197. }
  198.  
  199. // Register custom post types
  200. add_action('init', 'pyre_init');
  201. function pyre_init() {
  202. global $data;
  203. register_post_type(
  204. 'avada_portfolio',
  205. array(
  206. 'labels' => array(
  207. 'name' => 'Portfolio',
  208. 'singular_name' => 'Portfolio'
  209. ),
  210. 'public' => true,
  211. 'has_archive' => true,
  212. 'rewrite' => array('slug' => $data['portfolio_slug']),
  213. 'supports' => array('title', 'editor', 'thumbnail','comments'),
  214. 'can_export' => true,
  215. )
  216. );
  217.  
  218. register_taxonomy('portfolio_category', 'avada_portfolio', array('hierarchical' => true, 'label' => 'Categories', 'query_var' => true, 'rewrite' => true));
  219. register_taxonomy('portfolio_skills', 'avada_portfolio', array('hierarchical' => true, 'label' => 'Skills', 'query_var' => true, 'rewrite' => true));
  220.  
  221. register_post_type(
  222. 'avada_faq',
  223. array(
  224. 'labels' => array(
  225. 'name' => 'FAQs',
  226. 'singular_name' => 'FAQ'
  227. ),
  228. 'public' => true,
  229. 'has_archive' => true,
  230. 'rewrite' => array('slug' => 'faq-items'),
  231. 'supports' => array('title', 'editor', 'thumbnail','comments'),
  232. 'can_export' => true,
  233. )
  234. );
  235.  
  236. register_taxonomy('faq_category', 'avada_faq', array('hierarchical' => true, 'label' => 'Categories', 'query_var' => true, 'rewrite' => true));
  237.  
  238. register_post_type(
  239. 'themefusion_elastic',
  240. array(
  241. 'labels' => array(
  242. 'name' => 'Elastic Slider',
  243. 'singular_name' => 'Elastic Slide'
  244. ),
  245. 'public' => true,
  246. 'has_archive' => true,
  247. 'rewrite' => array('slug' => 'elastic-slide'),
  248. 'supports' => array('title', 'thumbnail'),
  249. 'can_export' => true,
  250. 'menu_position' => 100,
  251. )
  252. );
  253.  
  254. register_taxonomy('themefusion_es_groups', 'themefusion_elastic', array('hierarchical' => false, 'label' => 'Groups', 'query_var' => true, 'rewrite' => true));
  255. }
  256.  
  257. // How comments are displayed
  258. function avada_comment($comment, $args, $depth) {
  259. $GLOBALS['comment'] = $comment; ?>
  260. <?php $add_below = ''; ?>
  261. <li <?php comment_class(); ?> id="comment-<?php comment_ID() ?>">
  262.  
  263. <div class="the-comment">
  264. <div class="avatar">
  265. <?php echo get_avatar($comment, 54); ?>
  266. </div>
  267.  
  268. <div class="comment-box">
  269.  
  270. <div class="comment-author meta">
  271. <strong><?php echo get_comment_author_link() ?></strong>
  272. <?php printf(__('%1$s at %2$s', 'Avada'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__(' - Edit', 'Avada'),' ','') ?><?php comment_reply_link(array_merge( $args, array('reply_text' => __(' - Reply', 'Avada'), 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
  273. </div>
  274.  
  275. <div class="comment-text">
  276. <?php if ($comment->comment_approved == '0') : ?>
  277. <em><?php echo __('Your comment is awaiting moderation.', 'Avada') ?></em>
  278. <br />
  279. <?php endif; ?>
  280. <?php comment_text() ?>
  281. </div>
  282.  
  283. </div>
  284.  
  285. </div>
  286.  
  287. <?php }
  288.  
  289. /*function pyre_SearchFilter($query) {
  290. if ($query->is_search) {
  291. $query->set('post_type', 'post');
  292. }
  293. return $query;
  294. }
  295. add_filter('pre_get_posts','pyre_SearchFilter');*/
  296.  
  297. add_filter('wp_get_attachment_link', 'avada_pretty');
  298. function avada_pretty($content) {
  299. $content = preg_replace("/<a/","<a rel=\"prettyPhoto[postimages]\"",$content,1);
  300. return $content;
  301. }
  302.  
  303. require_once('framework/plugins/multiple-featured-images/multiple-featured-images.php');
  304.  
  305. if( class_exists( 'kdMultipleFeaturedImages' ) && !$data['legacy_posts_slideshow']) {
  306. $i = 2;
  307.  
  308. while($i <= $data['posts_slideshow_number']) {
  309. $args = array(
  310. 'id' => 'featured-image-'.$i,
  311. 'post_type' => 'post', // Set this to post or page
  312. 'labels' => array(
  313. 'name' => 'Featured image '.$i,
  314. 'set' => 'Set featured image '.$i,
  315. 'remove' => 'Remove featured image '.$i,
  316. 'use' => 'Use as featured image '.$i,
  317. )
  318. );
  319.  
  320. new kdMultipleFeaturedImages( $args );
  321.  
  322. $args = array(
  323. 'id' => 'featured-image-'.$i,
  324. 'post_type' => 'page', // Set this to post or page
  325. 'labels' => array(
  326. 'name' => 'Featured image '.$i,
  327. 'set' => 'Set featured image '.$i,
  328. 'remove' => 'Remove featured image '.$i,
  329. 'use' => 'Use as featured image '.$i,
  330. )
  331. );
  332.  
  333. new kdMultipleFeaturedImages( $args );
  334.  
  335. $args = array(
  336. 'id' => 'featured-image-'.$i,
  337. 'post_type' => 'avada_portfolio', // Set this to post or page
  338. 'labels' => array(
  339. 'name' => 'Featured image '.$i,
  340. 'set' => 'Set featured image '.$i,
  341. 'remove' => 'Remove featured image '.$i,
  342. 'use' => 'Use as featured image '.$i,
  343. )
  344. );
  345.  
  346. new kdMultipleFeaturedImages( $args );
  347.  
  348. $i++;
  349. }
  350.  
  351. }
  352.  
  353. function avada_excerpt_length( $length ) {
  354. global $data;
  355.  
  356. if(isset($data['excerpt_length_blog'])) {
  357. return $data['excerpt_length_blog'];
  358. }
  359. }
  360. add_filter('excerpt_length', 'avada_excerpt_length', 999);
  361.  
  362. function avada_admin_bar_render() {
  363. global $wp_admin_bar;
  364. $wp_admin_bar->add_menu( array(
  365. 'parent' => 'site-name', // use 'false' for a root menu, or pass the ID of the parent menu
  366. 'id' => 'smof_options', // link ID, defaults to a sanitized title value
  367. 'title' => __('Theme Options'), // link title
  368. 'href' => admin_url( 'themes.php?page=optionsframework'), // name of file
  369. 'meta' => false // array of any of the following options: array( 'html' => '', 'class' => '', 'onclick' => '', target => '', title => '' );
  370. ));
  371. }
  372. add_action( 'wp_before_admin_bar_render', 'avada_admin_bar_render' );
  373.  
  374. add_filter('upload_mimes', 'avada_filter_mime_types');
  375. function avada_filter_mime_types($mimes)
  376. {
  377. $mimes['ttf'] = 'font/ttf';
  378. $mimes['woff'] = 'font/woff';
  379. $mimes['svg'] = 'font/svg';
  380. $mimes['eot'] = 'font/eot';
  381.  
  382. return $mimes;
  383. }
  384.  
  385.  
  386. function tf_content($limit) {
  387. $content = explode(' ', get_the_content(), $limit);
  388. if (count($content)>=$limit) {
  389. array_pop($content);
  390. $content = implode(" ",$content).' &#91;...&#93;';
  391. } else {
  392. $content = implode(" ",$content);
  393. }
  394. $content = preg_replace('/\[.+\]/','', $content);
  395. $content = apply_filters('the_content', $content);
  396. $content = str_replace(']]>', ']]&gt;', $content);
  397. return $content;
  398. }
  399.  
  400.  
  401.  
  402. function avada_scripts() {
  403. if (!is_admin()) {
  404. wp_enqueue_script( 'jquery', false, array(), false, true);
  405.  
  406. wp_deregister_script( 'modernizr' );
  407. wp_register_script( 'modernizr', get_bloginfo('template_directory').'/js/modernizr.js', array(), false, true);
  408. wp_enqueue_script( 'modernizr' );
  409.  
  410. wp_deregister_script( 'jtwt' );
  411. wp_register_script( 'jtwt', get_bloginfo('template_directory').'/js/jtwt.js', array(), false, true);
  412. wp_enqueue_script( 'jtwt' );
  413.  
  414. wp_deregister_script( 'jquery.elastislide' );
  415. wp_register_script( 'jquery.elastislide', get_bloginfo('template_directory').'/js/jquery.elastislide.js', array(), false, true);
  416. wp_enqueue_script( 'jquery.elastislide' );
  417.  
  418. wp_deregister_script( 'jquery.prettyPhoto' );
  419. wp_register_script( 'jquery.prettyPhoto', get_bloginfo('template_directory').'/js/jquery.prettyPhoto.js', array(), false, true);
  420. wp_enqueue_script( 'jquery.prettyPhoto' );
  421.  
  422. wp_deregister_script( 'jquery.isotope' );
  423. wp_register_script( 'jquery.isotope', get_bloginfo('template_directory').'/js/jquery.isotope.min.js', array(), false, true);
  424. wp_enqueue_script( 'jquery.isotope' );
  425.  
  426. wp_deregister_script( 'jquery.flexslider' );
  427. wp_register_script( 'jquery.flexslider', get_bloginfo('template_directory').'/js/jquery.flexslider-min.js', array(), false, false);
  428. wp_enqueue_script( 'jquery.flexslider' );
  429.  
  430. wp_deregister_script( 'jquery.cycle' );
  431. wp_register_script( 'jquery.cycle', get_bloginfo('template_directory').'/js/jquery.cycle.lite.js', array(), false, true);
  432. wp_enqueue_script( 'jquery.cycle' );
  433.  
  434. wp_deregister_script( 'jquery.fitvids' );
  435. wp_register_script( 'jquery.fitvids', get_bloginfo('template_directory').'/js/jquery.fitvids.js', array(), false, false);
  436. wp_enqueue_script( 'jquery.fitvids' );
  437.  
  438. wp_deregister_script( 'jquery.hoverIntent' );
  439. wp_register_script( 'jquery.hoverIntent', get_bloginfo('template_directory').'/js/jquery.hoverIntent.minified.js', array(), false, true);
  440. wp_enqueue_script( 'jquery.hoverIntent' );
  441.  
  442. wp_deregister_script( 'jquery.easing' );
  443. wp_register_script( 'jquery.easing', get_bloginfo('template_directory').'/js/jquery.easing.js', array(), false, false);
  444. wp_enqueue_script( 'jquery.easing' );
  445.  
  446. wp_deregister_script( 'jquery.eislideshow' );
  447. wp_register_script( 'jquery.eislideshow', get_bloginfo('template_directory').'/js/jquery.eislideshow.js', array(), false, true);
  448. wp_enqueue_script( 'jquery.eislideshow' );
  449.  
  450. wp_deregister_script( 'jquery.ui.map' );
  451. wp_register_script( 'jquery.ui.map', get_bloginfo('template_directory').'/js/gmap.js', array(), false, true);
  452. wp_enqueue_script( 'jquery.ui.map' );
  453.  
  454. wp_deregister_script( 'avada' );
  455. wp_register_script( 'avada', get_bloginfo('template_directory').'/js/main.js');
  456. wp_enqueue_script( 'avada' );
  457. }
  458. }
  459. add_action('init', 'avada_scripts');
  460.  
  461. add_filter('jpeg_quality', 'avada_image_full_quality');
  462. add_filter('wp_editor_set_quality', 'avada_image_full_quality');
  463. function avada_image_full_quality($quality) {
  464. return 100;
  465. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement