These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | /** |
||
3 | * Lighthouse functions and definitions. |
||
4 | * |
||
5 | * @link https://developer.wordpress.org/themes/basics/theme-functions/ |
||
6 | * |
||
7 | * @package Lighthouse |
||
8 | */ |
||
9 | |||
10 | if ( ! function_exists( 'lighthouse_setup' ) ) : |
||
11 | /** |
||
12 | * Sets up theme defaults and registers support for various WordPress features. |
||
13 | * |
||
14 | * Note that this function is hooked into the after_setup_theme hook, which |
||
15 | * runs before the init hook. The init hook is too late for some features, such |
||
16 | * as indicating support for post thumbnails. |
||
17 | */ |
||
18 | function lighthouse_setup() { |
||
19 | /* |
||
20 | * Make theme available for translation. |
||
21 | * Translations can be filed in the /languages/ directory. |
||
22 | * If you're building a theme based on Lighthouse, use a find and replace |
||
23 | * to change 'lighthouse' to the name of your theme in all the template files. |
||
24 | */ |
||
25 | load_theme_textdomain( 'lighthouse', get_template_directory() . '/languages' ); |
||
26 | |||
27 | // Add default posts and comments RSS feed links to head. |
||
28 | add_theme_support( 'automatic-feed-links' ); |
||
29 | |||
30 | /* |
||
31 | * Let WordPress manage the document title. |
||
32 | * By adding theme support, we declare that this theme does not use a |
||
33 | * hard-coded <title> tag in the document head, and expect WordPress to |
||
34 | * provide it for us. |
||
35 | */ |
||
36 | add_theme_support( 'title-tag' ); |
||
37 | |||
38 | /* |
||
39 | * Enable support for Post Thumbnails on posts and pages. |
||
40 | * |
||
41 | * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ |
||
42 | */ |
||
43 | add_theme_support( 'post-thumbnails' ); |
||
44 | |||
45 | add_image_size( 'lighthouse_feature_img', 1000, 310, array( 'center', 'center' ) ); |
||
46 | |||
47 | add_image_size( 'lighthouse_blog_listing', 714, 274, array( 'center', 'center' ) ); |
||
48 | |||
49 | add_image_size( 'lighthouse_related_post', 475, 280, array( 'center', 'center' ) ); |
||
50 | |||
51 | /* |
||
52 | * Default HTML5 Form |
||
53 | * |
||
54 | * @link https://codex.wordpress.org/Function_Reference/get_search_form |
||
55 | */ |
||
56 | add_theme_support( 'html5', array( 'search-form' ) ); |
||
57 | |||
58 | // This theme uses wp_nav_menu() in one location. |
||
59 | register_nav_menus( array( |
||
60 | 'primary' => esc_html__( 'Primary', 'lighthouse' ), |
||
61 | ) ); |
||
62 | |||
63 | |||
64 | /* |
||
65 | * Lighthouse custom header menus |
||
66 | * |
||
67 | */ |
||
68 | function lighthouse_menus() { |
||
69 | register_nav_menus( |
||
70 | array( |
||
71 | 'header-menu-left' => __( 'Header menu left', 'nav menu location', 'lighthouse' ), |
||
72 | 'header-menu-right' => __( 'Header menu right' , 'nav menu location', 'lighthouse'), |
||
73 | 'footer-menu' => __( 'Footer menu' , 'nav menu location', 'lighthouse'), |
||
74 | 'footer-menu-bottom' => __( 'Footer menu bottom' , 'nav menu location', 'lighthouse') |
||
75 | ) |
||
76 | ); |
||
77 | } |
||
78 | add_action( 'init', 'lighthouse_menus' ); |
||
79 | |||
80 | /* |
||
81 | * Switch default core markup for search form, comment form, and comments |
||
82 | * to output valid HTML5. |
||
83 | */ |
||
84 | add_theme_support( 'html5', array( |
||
85 | 'search-form', |
||
86 | 'comment-form', |
||
87 | 'comment-list', |
||
88 | 'gallery', |
||
89 | 'caption', |
||
90 | ) ); |
||
91 | |||
92 | /* |
||
93 | * Enable support for Post Formats. |
||
94 | * See https://developer.wordpress.org/themes/functionality/post-formats/ |
||
95 | */ |
||
96 | add_theme_support( 'post-formats', array( |
||
97 | 'aside', |
||
98 | 'image', |
||
99 | 'video', |
||
100 | 'quote', |
||
101 | 'link', |
||
102 | ) ); |
||
103 | |||
104 | // Set up the WordPress core custom background feature. |
||
105 | add_theme_support( 'custom-background', apply_filters( 'lighthouse_custom_background_args', array( |
||
106 | 'default-color' => 'ffffff', |
||
107 | 'default-image' => '', |
||
108 | ) ) ); |
||
109 | } |
||
110 | endif; |
||
111 | add_action( 'after_setup_theme', 'lighthouse_setup' ); |
||
112 | |||
113 | /** |
||
114 | * Set the content width in pixels, based on the theme's design and stylesheet. |
||
115 | * |
||
116 | * Priority 0 to make it available to lower priority callbacks. |
||
117 | * |
||
118 | * @global int $content_width |
||
119 | */ |
||
120 | function lighthouse_content_width() { |
||
121 | $GLOBALS['content_width'] = apply_filters( 'lighthouse_content_width', 640 ); |
||
122 | } |
||
123 | add_action( 'after_setup_theme', 'lighthouse_content_width', 0 ); |
||
124 | |||
125 | /** |
||
126 | * Register widget area. |
||
127 | * |
||
128 | * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar |
||
129 | */ |
||
130 | View Code Duplication | function lighthouse_widgets_init() { |
|
131 | register_sidebar( array( |
||
132 | 'name' => esc_html__( 'Sidebar', 'lighthouse' ), |
||
133 | 'id' => 'sidebar-1', |
||
134 | 'description' => '', |
||
135 | 'before_widget' => '<section id="%1$s" class="widget %2$s">', |
||
136 | 'after_widget' => '</section>', |
||
137 | 'before_title' => '<h2 class="widget-title">', |
||
138 | 'after_title' => '</h2>', |
||
139 | ) ); |
||
140 | } |
||
141 | add_action( 'widgets_init', 'lighthouse_widgets_init' ); |
||
142 | |||
143 | /** |
||
144 | * Enqueue scripts and styles. |
||
145 | */ |
||
146 | function lighthouse_scripts() { |
||
147 | |||
148 | wp_enqueue_style( 'lighthouse-font-awesome-css', get_template_directory_uri() . '/css/font-awesome.min.css'); |
||
149 | |||
150 | wp_enqueue_style( 'lighthouse-style', get_stylesheet_uri() ); |
||
151 | |||
152 | wp_enqueue_style('lighthouse-google-fonts', 'https://fonts.googleapis.com/css?family=Questrial'); |
||
153 | |||
154 | //wp_enqueue_style('lighthouse-owl-carousel-css', get_template_directory_uri() . '/css/owl.carousel.css'); |
||
155 | |||
156 | wp_enqueue_script( 'lighthouse-classList-js', 'https://cdnjs.cloudflare.com/ajax/libs/classlist/2014.01.31/classList.min.js', array('jquery'), ''); |
||
157 | |||
158 | wp_enqueue_script( 'lighthouse-bootstrap-js', get_template_directory_uri() . '/js/bootstrap.min.js', array('jquery'), '', true ); |
||
159 | |||
160 | wp_enqueue_script( 'lighthouse-material-menu-js', get_template_directory_uri() . '/js/materialMenu.js', array('jquery'), '', true ); |
||
161 | |||
162 | wp_enqueue_script( 'lighthouse-owl-carousel-js', get_template_directory_uri() . '/js/owl-carousel.js', array('jquery'), '', true ); |
||
163 | |||
164 | wp_enqueue_script( 'lighthouse-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true ); |
||
165 | |||
166 | wp_enqueue_script( 'lighthouse-settings-js', get_template_directory_uri() . '/js/lighthouse-settings.js', array('jquery'), '', true ); |
||
167 | |||
168 | wp_enqueue_script( 'lighthouse-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20130115', true ); |
||
169 | |||
170 | if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { |
||
171 | wp_enqueue_script( 'comment-reply' ); |
||
172 | } |
||
173 | } |
||
174 | add_action( 'wp_enqueue_scripts', 'lighthouse_scripts' ); |
||
175 | |||
176 | |||
177 | /** |
||
178 | * Read More button in excerpt |
||
179 | */ |
||
180 | function new_excerpt_more( $more ) { |
||
181 | return ' '; |
||
182 | } |
||
183 | add_filter( 'excerpt_more', 'new_excerpt_more' ); |
||
184 | |||
185 | /** |
||
186 | * Custome Lenght of excerpt |
||
187 | */ |
||
188 | function custom_excerpt_length( $length ) { |
||
0 ignored issues
–
show
|
|||
189 | return 18; |
||
190 | } |
||
191 | add_filter( 'excerpt_length', 'custom_excerpt_length', 999 ); |
||
192 | |||
193 | |||
194 | //callback function for the 'clear_content' shortcode |
||
195 | function recent_post_slider($atts){ |
||
196 | |||
197 | echo'<div class="post-slider row"><div id="recent-posts" class="owl-carousel">'; |
||
198 | |||
199 | global $post; |
||
200 | |||
201 | $post_query = new WP_Query( array( |
||
202 | 'post_type' => 'post', |
||
203 | 'posts_per_page' => 12, |
||
204 | 'order'=>'DESC', |
||
205 | 'orderby' => 'date', |
||
206 | ) |
||
207 | ); |
||
208 | |||
209 | if( $post_query->have_posts() ) : while( $post_query->have_posts() ) : $post_query->the_post(); |
||
210 | |||
211 | $thumb_post = wp_get_attachment_image_src( get_post_thumbnail_id(), 'lighthouse_related_post'); |
||
212 | $url_post = $thumb_post[0]; |
||
213 | $content = get_the_content(); |
||
214 | |||
215 | echo '<div class="col-xs-12"><div class="thumbnail thumbnail-hover">'; |
||
216 | |||
217 | echo'<img class="img-responsive" src=" ' . $url_post . '">'; |
||
218 | |||
219 | echo '<a href=" ' . get_permalink() .' " " title=" ' . get_the_title() .' " class="overlay"></a>'; |
||
220 | |||
221 | echo'</div>'; |
||
222 | |||
223 | echo'<div class="entry">'; |
||
224 | |||
225 | echo '<h3><a href=" ' . get_permalink() . ' "> ' . get_the_title() . '</a></h3>'; |
||
226 | |||
227 | echo '<span class="date"> <i class="fa fa-clock-o"></i> ' . get_the_time(get_option('date_format')) .'</span>'; |
||
228 | |||
229 | echo '<div class="entry-content">' . wp_trim_words( $content , '27' ) . '</div>'; |
||
230 | |||
231 | echo '<div class="read-more">'; |
||
232 | |||
233 | echo '<a href="' . get_permalink() . ' " class="btn read-more-btn">View Article</a>'; |
||
234 | |||
235 | echo '</div>'; |
||
236 | |||
237 | echo '</div></div>'; |
||
238 | |||
239 | endwhile; |
||
240 | wp_reset_postdata(); |
||
241 | endif; |
||
242 | |||
243 | echo '</div></div>'; |
||
244 | |||
245 | } |
||
246 | //add the new 'recent_posts' shortcode |
||
247 | add_shortcode('recent_posts','recent_post_slider'); |
||
248 | |||
249 | // Numbered Pagination |
||
250 | function pagination($pages = '', $range = 4) |
||
251 | { |
||
252 | $showitems = ($range * 2)+1; |
||
253 | |||
254 | global $paged; |
||
255 | if(empty($paged)) $paged = 1; |
||
256 | |||
257 | if($pages == '') |
||
258 | { |
||
259 | global $wp_query; |
||
260 | $pages = $wp_query->max_num_pages; |
||
261 | if(!$pages) |
||
262 | { |
||
263 | $pages = 1; |
||
264 | } |
||
265 | } |
||
266 | |||
267 | if(1 != $pages) |
||
268 | { |
||
269 | echo "<div class=\"pagination\"><span>Page ".$paged." of ".$pages."</span>"; |
||
270 | if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>« First</a>"; |
||
271 | View Code Duplication | if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹ Previous</a>"; |
|
272 | |||
273 | for ($i=1; $i <= $pages; $i++) |
||
274 | { |
||
275 | if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) |
||
276 | { |
||
277 | echo ($paged == $i)? "<span class=\"current\">".$i."</span>":"<a href='".get_pagenum_link($i)."' class=\"inactive\">".$i."</a>"; |
||
278 | } |
||
279 | } |
||
280 | |||
281 | View Code Duplication | if ($paged < $pages && $showitems < $pages) echo "<a href=\"".get_pagenum_link($paged + 1)."\">Next ›</a>"; |
|
282 | if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>Last »</a>"; |
||
283 | echo "</div>\n"; |
||
284 | } |
||
285 | } |
||
286 | |||
287 | /** |
||
288 | * Implement the Custom Header feature. |
||
289 | */ |
||
290 | require get_template_directory() . '/inc/custom-header.php'; |
||
291 | |||
292 | /** |
||
293 | * Custom template tags for this theme. |
||
294 | */ |
||
295 | require get_template_directory() . '/inc/template-tags.php'; |
||
296 | |||
297 | /** |
||
298 | * Custom functions that act independently of the theme templates. |
||
299 | */ |
||
300 | require get_template_directory() . '/inc/extras.php'; |
||
301 | |||
302 | /** |
||
303 | * Customizer additions. |
||
304 | */ |
||
305 | require get_template_directory() . '/inc/customizer.php'; |
||
306 | |||
307 | /** |
||
308 | * Load Jetpack compatibility file. |
||
309 | */ |
||
310 | require get_template_directory() . '/inc/jetpack.php'; |
||
311 |
This check looks from parameters that have been defined for a function or method, but which are not used in the method body.