jegtheme

latin text

May 10th, 2013
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.14 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4. * - Register Menu Option
  5. * - register sidebar
  6. * - Register font on head section
  7. * - set content width
  8. *
  9. * @author Jegbagus
  10. */
  11.  
  12. // Add Theme Support for menu & automatic feed
  13. add_theme_support( 'menus' );
  14. add_theme_support( 'automatic-feed-links' );
  15.  
  16. // Locale & Translation
  17. load_theme_textdomain( 'jegtheme' , get_template_directory() . '/lang' );
  18.  
  19. // Register Menu
  20. if(function_exists('register_nav_menu')):
  21.  
  22. // centered menu disabled, menu go to right
  23. if (j_get_option('centered_menu', 1)) :
  24. register_nav_menu( 'top_left_menu', __( 'Top Left Menu' , 'jegtheme' ));
  25. register_nav_menu( 'top_right_menu' , __( 'Top Right Menu' , 'jegtheme' ));
  26. else :
  27. register_nav_menu( 'top_left_menu', __( 'Top Menu' , 'jegtheme' ));
  28. endif;
  29.  
  30. endif;
  31.  
  32. function jeg_menu($pos)
  33. {
  34. if(function_exists('wp_nav_menu') && has_nav_menu('top_right_menu') && $pos == "topright"):
  35. wp_nav_menu(
  36. array(
  37. 'theme_location' => 'top_right_menu',
  38. 'menu_class' => 'menu',
  39. 'walker' => new jeg_top_menu_walker()
  40. )
  41. );
  42. elseif (function_exists('wp_nav_menu') && has_nav_menu('top_left_menu') && $pos == "topleft") :
  43. wp_nav_menu(
  44. array(
  45. 'theme_location' => 'top_left_menu',
  46. 'menu_class' => 'menu',
  47. 'walker' => new jeg_top_menu_walker()
  48. )
  49. );
  50. elseif (function_exists('wp_nav_menu') && has_nav_menu('bottom_left_menu') && $pos == "bottomleft") :
  51. wp_nav_menu(
  52. array(
  53. 'theme_location' => 'bottom_left_menu',
  54. 'walker' => new jeg_bottom_menu_walker(),
  55. 'depth' => 1
  56. )
  57. );
  58. elseif (function_exists('wp_nav_menu') && has_nav_menu('bottom_right_menu') && $pos == "bottomright") :
  59. wp_nav_menu(
  60. array(
  61. 'theme_location' => 'bottom_right_menu',
  62. 'walker' => new jeg_bottom_menu_walker(),
  63. 'depth' => 1
  64. )
  65. );
  66. else :
  67. /** don't show anything **/
  68. endif ;
  69. }
  70.  
  71. function jeg_responsive_menu ()
  72. {
  73. $responsemenu = "";
  74. if(function_exists('wp_nav_menu') && ( has_nav_menu('top_right_menu') || has_nav_menu('top_left_menu') ) ) :
  75. if(has_nav_menu('top_left_menu')) :
  76. $responsemenu .= wp_nav_menu(
  77. array(
  78. 'theme_location' => 'top_left_menu',
  79. 'walker' => new jeg_responsive_menu_walker(),
  80. 'depth' => 0,
  81. 'container' => '',
  82. 'items_wrap' => '%3$s'
  83. )
  84. );
  85. endif;
  86. if(has_nav_menu('top_right_menu')) :
  87. $responsemenu .= wp_nav_menu(
  88. array(
  89. 'theme_location' => 'top_right_menu',
  90. 'walker' => new jeg_responsive_menu_walker(),
  91. 'depth' => 0,
  92. 'container' => '',
  93. 'items_wrap' => '%3$s'
  94. )
  95. );
  96. endif;
  97. else :
  98. /** don't show anything **/
  99. endif;
  100.  
  101. return $responsemenu;
  102. }
  103.  
  104. class jeg_responsive_menu_walker extends Walker_Nav_Menu {
  105.  
  106. function start_lvl( &$output, $depth = 0, $args = array() ) {}
  107. function end_lvl( &$output, $depth = 0, $args = array() ) {}
  108. function end_el( &$output, $item, $depth = 0, $args = array() ) {}
  109.  
  110. function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
  111.  
  112. $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : '';
  113. $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : '';
  114. $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : '';
  115. $attributes .= ! empty( $item->url ) ? ' value="' . esc_attr( $item->url ) .'"' : '';
  116.  
  117. $item_output = '';
  118. $item_output .= '<option '. $attributes .'>'
  119. . str_repeat("&nbsp;&nbsp;", $depth)
  120. . " "
  121. . apply_filters( 'the_title', $item->title, $item->ID );
  122.  
  123. $item_output .= '</option>';
  124.  
  125. $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
  126. }
  127. }
  128.  
  129. // menu walker extends
  130. class jeg_bottom_menu_walker extends Walker_Nav_Menu
  131. {
  132. function start_el(&$output, $item, $depth, $args)
  133. {
  134. global $wp_query;
  135. $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
  136.  
  137. $class_names = $value = '';
  138.  
  139. $classes = empty( $item->classes ) ? array() : (array) $item->classes;
  140. $classes[] = 'menu-item-' . $item->ID;
  141.  
  142. $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
  143. $class_names = ' class="' . esc_attr( $class_names ) . '"';
  144.  
  145. $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
  146. $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : '';
  147.  
  148. $output .= $indent . '<li' . $id . $value . $class_names .'>';
  149.  
  150. $attributes = ! empty( $item->attr_title ) ? ' data-rel="tooltip" title="' . esc_attr( $item->attr_title ) .'"' : '';
  151. $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : '';
  152. $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : '';
  153. $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : '';
  154.  
  155. $nav_description = ! empty($item->description) ? '<span>' . esc_attr( $item->description ) . '</span>' : '';
  156.  
  157. $item_output = $args->before;
  158. $item_output .= '<a'. $attributes .'>';
  159. $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) ;
  160. $item_output .= $nav_description . $args->link_after;
  161. $item_output .= '</a>';
  162. $item_output .= $args->after;
  163.  
  164. $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
  165. }
  166. }
  167.  
  168. // menu walker extends
  169. class jeg_top_menu_walker extends Walker_Nav_Menu
  170. {
  171. function start_el(&$output, $item, $depth, $args)
  172. {
  173. global $wp_query;
  174. $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
  175.  
  176. $class_names = $value = '';
  177.  
  178. $classes = empty( $item->classes ) ? array() : (array) $item->classes;
  179. $classes[] = 'menu-item-' . $item->ID;
  180. $classes[] = 'bgnav';
  181.  
  182. $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
  183. $class_names = ' class="' . esc_attr( $class_names ) . '"';
  184.  
  185. $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
  186. $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : '';
  187.  
  188. $output .= $indent . '<li' . $id . $value . $class_names .'>';
  189.  
  190. $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : '';
  191. $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : '';
  192. $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : '';
  193. $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : '';
  194.  
  195. $nav_description = ! empty($item->description) ? '<span>' . esc_attr( $item->description ) . '</span>' : '';
  196.  
  197. $item_output = $args->before;
  198. $item_output .= '<a'. $attributes .'>';
  199. $item_output .= $args->link_before . '<h3>' . apply_filters( 'the_title', $item->title, $item->ID ) . '</h3>' ;
  200. $item_output .= $nav_description . $args->link_after;
  201. $item_output .= '</a>';
  202. $item_output .= $args->after;
  203.  
  204. $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
  205. }
  206.  
  207. function start_lvl( &$output, $depth = 0, $args = array() ) {
  208. $indent = str_repeat("\t", $depth);
  209. $output .= "\n$indent<ul class=\"submenu\">\n";
  210. }
  211. }
  212.  
  213. /** Side bar Begin ! **/
  214. add_action('init', 'jeg_init_sidebar');
  215.  
  216. function jeg_init_sidebar() {
  217. $userSidebar = j_get_option("sidebar");
  218. if(empty($userSidebar)) $userSidebar = array();
  219. $jegSidebar = array_merge(array(JEG_DEFAULT_SIDEBAR), $userSidebar);
  220. jeg_register_sidebars($jegSidebar);
  221. }
  222.  
  223. function jeg_register_sidebars($sidebars) {
  224. foreach($sidebars as $sidebar) {
  225. register_sidebar(array(
  226. 'name' => $sidebar,
  227. 'id' => jegGenId($sidebar),
  228. 'before_widget' => '<div class="containerborder %2$s" id="%1$s"><div class="inner-container">',
  229. 'after_widget' => '</div></div>',
  230. 'before_title' => '<h3>',
  231. 'after_title' => '</h3><div class="widget-line"></div>',
  232. ));
  233. }
  234. }
  235.  
  236.  
  237. /** register menu head **/
  238. add_action('wp_head', 'jeg_attach_font');
  239.  
  240. // <link href="http://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold&v1" rel="stylesheet">
  241. // <link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700' rel='stylesheet' type='text/css' />
  242. // <link href='http://fonts.googleapis.com/css?family=" + fontfamily + "' type='text/css' media='all' />
  243. function jeg_attach_font()
  244. {
  245. $fontarray = array(
  246. array(
  247. 'font' => j_get_themes_manager('heading_font'),
  248. 'variant' => j_get_themes_manager('heading_font_variant'),
  249. 'face' => j_get_themes_manager('heading_font_face'),
  250. 'facefile' => j_get_themes_manager('heading_font_facefile'),
  251. ),
  252. array(
  253. 'font' => j_get_themes_manager('heading_alt_font'),
  254. 'variant' => j_get_themes_manager('heading_alt_font_variant'),
  255. 'face' => j_get_themes_manager('heading_alt_font_face'),
  256. 'facefile' => j_get_themes_manager('heading_alt_font_facefile'),
  257. ),
  258. array(
  259. 'font' => j_get_themes_manager('body_font'),
  260. 'variant' => j_get_themes_manager('body_font_variant'),
  261. 'face' => j_get_themes_manager('body_font_face'),
  262. 'facefile' => j_get_themes_manager('body_font_facefile'),
  263. ),
  264. array(
  265. 'font' => j_get_themes_manager('front_slider_font'),
  266. 'variant' => j_get_themes_manager('front_slider_font_variant'),
  267. 'face' => j_get_themes_manager('front_slider_font_face'),
  268. 'facefile' => j_get_themes_manager('front_slider_font_facefile'),
  269. ),
  270. );
  271.  
  272. $fontstring = "";
  273. if(!empty($fontarray)) {
  274. foreach ($fontarray as $f) :
  275. if(!empty($f['font'])) {
  276. $fn = urlencode($f['font']) . ':' . $f['variant'];
  277. $fontstring .= "\t\n<link href='http://fonts.googleapis.com/css?family=" . $fn . "&subset=latin,latin-ext' rel='stylesheet' type='text/css'>";
  278. } else if(!empty($f['face'])) {
  279. $fontstring .= "\n<style type='text/css'>
  280. @font-face {
  281. font-family: '". $f['face'] ."';
  282. src: url('". $f['facefile'] ."');
  283. }
  284. </style>";
  285. }
  286. endforeach;
  287. }
  288.  
  289. echo $fontstring . "\n";
  290. }
  291.  
  292. /** set content width **/
  293. if ( ! isset( $content_width ) ) $content_width = 962;
Advertisement
Add Comment
Please, Sign In to add comment