forked from arnabwahid/wordpress-bootstrap
-
Notifications
You must be signed in to change notification settings - Fork 2
/
page-toc.php
127 lines (90 loc) · 2.87 KB
/
page-toc.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
<?php
/*
Template Name: TOC Page Template
*/
?>
<?php get_header(); ?>
<?php
wp_enqueue_script('tocify-js');
wp_enqueue_style('tocify-css');
?>
<?php if (have_posts()) : while ( have_posts() ) : the_post(); ?>
<?php
global $wheniwasbad_options;
$sidebar_position = get_post_meta($post->ID, 'sidebar_position' , true);
$sidebar_widget_group = get_post_meta($post->ID, 'sidebar_widgets' , true);
$hide_empty_sidebar = $wheniwasbad_options['hide_widgets'];
if ( ! is_active_sidebar($sidebar_widget_group) && $hide_empty_sidebar) {
$main_class = "col-md-12";
$sidebar_class = "";
} else {
if ( $sidebar_position == 'left' ) {
$main_class = "col-md-9 col-md-push-3";
$sidebar_class = "col-md-3 col-md-pull-9";
} elseif ( $sidebar_position == 'right' ) {
$main_class = "col-md-9";
$sidebar_class = "col-md-3";
}
}
?>
<div id="content" class="container clearfix">
<div class="row clearfix">
<section id="main" class="<?php echo $main_class; ?> clearfix" role="main">
<div class="container">
<div class="row" id="cv-content">
<div class="col-md-3 col-sm-4 hidden-xs hidden-print" id="toc-wrap">
<div id="toc" class="affix" data-spy="affix"></div>
</div>
<div class="col-md-9 col-sm-8 col-xs-12">
<header class="page-header">
<h1><?php the_title(); ?></h1>
<?php get_template_part('postmeta-horizontal'); ?>
</header>
<?php get_template_part( 'content', 'page' ); ?>
<?php if ( comments_open() || get_comments_number() ) {
comments_template();
} ?>
</div>
</div>
</div>
</section> <!-- end #main -->
<?php if ($sidebar_class != ''): ?>
<section class="<?php echo $sidebar_class; ?> clearfix">
<?php get_sidebar($sidebar_widget_group); ?>
</section>
<?php endif; ?>
</div>
</div> <!-- end #content -->
<script>//<![CDATA[
jQuery( document ).ready(function( $ ) {
var position = $('body').position();
var offsetTop = position.top;
$("#toc").tocify( { context: "#cv-content", selectors: "h2,h3,h4", scrollTo: offsetTop, showEffect: 'slideDown' } );
$('#toc').width($('#toc-wrap').width());
$('#toc').affix({ offset: offsetTop });
setTimeout( function () {
var $sideBar = $('#toc');
$sideBar.affix({
offset: {
top: function () {
var offsetTop = $sideBar.offset().top;
var sideBarMargin = parseInt($sideBar.children(0).css('margin-top'), 10);
var navOuterHeight = $('.navbar-static-top').height();
return (this.top = offsetTop - navOuterHeight - sideBarMargin);
},
bottom: function () {
return (this.bottom = $('#page-footer').outerHeight(true));
}
}
})
}, 100);
setTimeout(function () {
$('.bs-top').affix()
}, 100);
});
//]]></script>
<?php endwhile; // end of the loop. ?>
<?php else : ?>
<?php not_found(); ?>
<?php endif; ?>
<?php get_footer(); ?>