/
functions.php
85 lines (74 loc) · 2.47 KB
/
functions.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
/**
* this theme will use a sidebar
*/
if ( function_exists('register_sidebar') )
register_sidebar();
/**
* This theme is able to display a menu called 'main-menu'
*/
function register_main_menu() {
register_nav_menus(
array(
'main-menu' => __( 'main-menu' )/*,
'an-extra-menu' => __( 'An Extra Menu' )*/
)
);
}
add_action( 'init', 'register_main_menu' );
function render_main_menu() {
$menu_name = 'main-menu'; // name of rendered menu
if (($locations = get_nav_menu_locations()) && isset($locations[$menu_name])) {
$menu = wp_get_nav_menu_object($locations[$menu_name]);
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menu_list = "<nav>\n";
$menu_list .= "\t\t\t\t<ul>\n";
foreach ((array) $menu_items as $key => $menu_item) { // loop menu entries
$title = $menu_item->title;
$classes = implode(" ", $menu_item->classes);
$url = make_href_root_relative($menu_item->url);
$menu_list .= "\t\t\t\t\t<li class=\"$classes\"><a href=\"$url\"><span>$title</span></a></li>\n";
}
$menu_list .= "\t\t\t\t</ul>\n";
$menu_list .= "\t\t\t</nav>\n";
} else { // try to render default menu
$menu_list = wp_nav_menu( array( 'theme_location' => 'main-menu', /**/
'container_class' => 'main-menu-container',
'container' => 'nav',
'menu_id' => 'main-menu',
'menu_class' => '',
'echo' => false ));
// $menu_list = '<!-- no list defined -->';
}
echo $menu_list;
}
/**
* no admin par should be shown on the live page
*/
add_filter('show_admin_bar', '__return_false');
/**
* use relative paths
*/
function make_href_root_relative($input) {
return preg_replace('!http(s)?://' . $_SERVER['SERVER_NAME'] . '(:' . $_SERVER['SERVER_PORT'] . ')?(/)?!', '/', $input);
}
add_filter( 'the_permalink', 'make_href_root_relative' );
add_filter( 'bloginfo_url', 'make_href_root_relative' );
/**
* get theme directory
*/
function theme() {
bloginfo('template_url'); echo "/";
}
/**
* allow file uploads
*/
function custom_upload_mimes ( $existing_mimes=array() ) {
// add the file extension to the array
$existing_mimes['svg'] = 'image/svg+xml';
$existing_mimes['jar'] = 'mime/type';
$existing_mimes['java'] = 'mime/type';
// call the modified list of extensions
return $existing_mimes;
}
add_filter('upload_mimes', 'custom_upload_mimes');