rousnay /
lighthouse
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.