Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 4
CRAP
n/a
0 / 0
jetpack_twentyseventeen_infinite_scroll_init
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
2
jetpack_twentyseventeen_infinite_scroll_render
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
12
jetpack_twentyseventeen_has_footer_widgets
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
20
jetpack_twentyseventeen_infinite_scroll_enqueue_styles
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2/**
3 * Infinite Scroll Theme Assets
4 *
5 * Register support for Twenty Seventeen.
6 *
7 * @package jetpack
8 */
9
10if ( ! defined( 'ABSPATH' ) ) {
11    exit( 0 );
12}
13
14/**
15 * Add theme support for infinite scroll
16 */
17function jetpack_twentyseventeen_infinite_scroll_init() {
18    add_theme_support(
19        'infinite-scroll',
20        array(
21            'container'      => 'main',
22            'render'         => 'jetpack_twentyseventeen_infinite_scroll_render',
23            'footer'         => 'content',
24            'footer_widgets' => jetpack_twentyseventeen_has_footer_widgets(),
25        )
26    );
27}
28add_action( 'init', 'jetpack_twentyseventeen_infinite_scroll_init' );
29
30/**
31 * Custom render function for Infinite Scroll.
32 */
33function jetpack_twentyseventeen_infinite_scroll_render() {
34    while ( have_posts() ) {
35        the_post();
36        if ( is_search() ) {
37            get_template_part( 'template-parts/post/content', 'search' );
38        } else {
39            get_template_part( 'template-parts/post/content', get_post_format() );
40        }
41    }
42}
43
44/**
45 * Custom function to check for the presence of footer widgets or the social links menu
46 */
47function jetpack_twentyseventeen_has_footer_widgets() {
48    if ( is_active_sidebar( 'sidebar-2' ) ||
49        is_active_sidebar( 'sidebar-3' ) ||
50        has_nav_menu( 'social' ) ) {
51
52        return true;
53    }
54
55    return false;
56}
57
58/**
59 * Enqueue CSS stylesheet with theme styles for Infinite Scroll.
60 */
61function jetpack_twentyseventeen_infinite_scroll_enqueue_styles() {
62    if ( wp_script_is( 'the-neverending-homepage' ) ) {
63        wp_enqueue_style( 'infinity-twentyseventeen', plugins_url( 'twentyseventeen.css', __FILE__ ), array( 'the-neverending-homepage' ), '20161219' );
64        wp_style_add_data( 'infinity-twentyseventeen', 'rtl', 'replace' );
65    }
66}
67add_action( 'wp_enqueue_scripts', 'jetpack_twentyseventeen_infinite_scroll_enqueue_styles', 25 );