-
Notifications
You must be signed in to change notification settings - Fork 2
/
functions.php
185 lines (140 loc) · 5.39 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<?php
/*
@package Skeletos
*/
//sets up the theme
//some options are commented
//out to meet WordPress standards
function ss_skeletos_setup() {
//adds wysiwyg style
add_editor_style('css/wysiwyg.css');
//adds menu support
add_theme_support('menus');
//adds RSS feed links to header
add_theme_support('automatic-feed-links');
//adds post thumbnail support
add_theme_support('post-thumbnails');
// This registers the nav in the header
register_nav_menu('main', 'Main Navigation');
register_nav_menu('footer', 'Footer Navigation');
}
add_action('after_setup_theme', 'ss_skeletos_setup');
//sets content width for embeded media
if (!isset($content_width)) {
$content_width = 984;
} //end if
//Custom Comments List
if (!function_exists('ss_comment')) {
function ss_comment($comment, $args, $depth) {
$GLOBALS[ 'comment' ] = $comment;
switch ($comment->comment_type) :
case 'pingback' :
case 'trackback' :
?>
<li class="post pingback">
<p>Pingback: <?php comment_author_link(); ?><?php edit_comment_link('Edit', '<span class="edit-link">', '</span>'); ?></p>
<?php
break;
default :
?>
<li <?php comment_class(); ?> id="comment-<?php comment_ID(); ?>">
<article class="post-comment clearfix">
<?php echo get_avatar($comment, 150); ?>
<?php
$author = get_comment_author();
$link = get_comment_author_url();
$author = ($link == '') ? $author : '<a href="' . $link . '" target="_blank">' . $author . '</a>';
?>
<header>
<h4><?php echo $author; ?></h4>
<p><time datetime="<?php echo get_comment_time('c'); ?>"><?php echo get_comment_time(get_option('date_format')); ?></time></p>
</header>
<div>
<?php
edit_comment_link('Edit', '<p class="edit-link">', '</p>');
if ($comment->comment_approved == '0') {
echo '<p><i>Your comment is awaiting moderation</i></p>';
} //end if
comment_text();
?>
<p class="right meta">
<?php comment_reply_link(array_merge($args, array('reply_text' => 'Reply', 'depth' => $depth, 'max_depth' => $args['max_depth']))); ?>
</p><!-- reply -->
</div>
</article>
<?php
break;
endswitch;
}
} // ends check for ss_comment()
//Change the Excerpt Length
function ss_excerpt_length($length) {
return 30;
}
add_filter('excerpt_length', 'ss_excerpt_length');
//Remove the [..] from the excerpt
add_filter('excerpt_more', '__return_null');
//Registers Widgetized Sidebars
function ss_widgets_init() {
//Register Another Sidebar for Widgets Like Twitter
register_sidebar(array(
'name' => 'Sidebar Widgets',
'id' => 'ss_widgets',
'description' => 'Widgets in this area will be shown on the right-hand side.',
'before_widget' => '<li id="%1$s" class="ss-widgets-list__item widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h6 class="heading4">',
'after_title' => '</h6>'
));
}
add_action('widgets_init', 'ss_widgets_init');
//Enqueues CSS and JS for the Theme
function ss_scripts_styles(){
if (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) {
wp_enqueue_script('skeletos-js-top-dev', get_template_directory_uri() . '/js/top.js');
wp_enqueue_script('skeletos-js-main-dev', get_template_directory_uri() . '/js/main.js', array('jquery'), '1.0', true);
wp_enqueue_style('skeletos-css-main-dev', get_stylesheet_directory_uri() . '/css/main.css', '', '1.0');
} else {
wp_enqueue_script('skeletos-js-top', get_template_directory_uri() . '/js/top.min.js');
wp_enqueue_script('skeletos-js-main', get_template_directory_uri() . '/js/main.min.js', array('jquery'), '1.0', true);
wp_enqueue_style('skeletos-css-main', get_stylesheet_directory_uri() . '/css/main.css', '', '1.0');
}
if (is_singular('post')) {
wp_enqueue_script('comment-reply');
} //end if
wp_enqueue_style('skeletos-css-ie', get_stylesheet_directory_uri() . '/css/ie.min.css');
$GLOBALS['wp_styles']->add_data('skeletos-css-ie', 'conditional', 'lte IE 8');
}
add_action('wp_enqueue_scripts', 'ss_scripts_styles');
function ss_custom_widget_counter($params) {
global $ss_widget_counter;
$ss_widget_counter++;
$class = 'class="ss-widgets-list__item--' . $ss_widget_counter . ' ';
if ($ss_widget_counter % 2) {
$class .= 'ss-widgets-list__item--odd ';
} else {
$class .= 'ss-widgets-list__item--even ';
} //end if
$params[0]['before_widget'] = str_replace('class="', $class, $params[0]['before_widget']);
return $params;
}
add_filter('dynamic_sidebar_params', 'ss_custom_widget_counter');
//removes "current_page_parent from blog menu item"
add_filter('nav_menu_css_class', 'ss_current_type_nav_class', 10, 2);
function ss_current_type_nav_class($classes, $item) {
// Get post_type for this post
$post_type = get_query_var('post_type');
// Removes current_page_parent class from blog menu item
if (get_post_type() == $post_type) {
$classes = array_filter($classes, 'ss_get_current_value');
} //end if
// Go to Menus and add a menu class named: {custom-post-type}-menu-item
// This adds a current_page_parent class to the parent menu item
if (in_array($post_type . '-menu-item', $classes)) {
array_push($classes, 'current_page_parent');
} //end if
return $classes;
}
function ss_get_current_value($element) {
return ($element != 'current_page_parent');
}