121 lines
2.8 KiB
PHP
Executable File
121 lines
2.8 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Jetpack compatibility class.
|
|
*
|
|
* @package Hester
|
|
* @author Peregrine Themes
|
|
* @since 1.0.0
|
|
*/
|
|
|
|
/**
|
|
* Do not allow direct script access.
|
|
*/
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
// Check if Jetpack is installed & activated.
|
|
if ( ! class_exists( 'Jetpack' ) ) {
|
|
return;
|
|
}
|
|
|
|
if ( ! class_exists( 'Hester_Jetpack' ) ) :
|
|
/**
|
|
* Jetpack compatibility class.
|
|
*/
|
|
class Hester_Jetpack {
|
|
|
|
/**
|
|
* Primary class constructor.
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
public function __construct() {
|
|
|
|
add_action( 'after_setup_theme', array( $this, 'jetpack_supports' ) );
|
|
|
|
add_filter( 'infinite_scroll_credit', array( $this, 'tweak_credits_link' ) );
|
|
add_filter( 'infinite_scroll_js_settings', array( $this, 'filter_infinite_scroll_js_settings' ) );
|
|
}
|
|
|
|
/**
|
|
* Add Jetpack theme supports.
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
public function jetpack_supports() {
|
|
|
|
/**
|
|
* Add theme support for Infinite Scroll.
|
|
*/
|
|
add_theme_support(
|
|
'infinite-scroll',
|
|
array(
|
|
'container' => 'content',
|
|
'render' => array( $this, 'infinite_scroll_render' ),
|
|
'footer' => 'page',
|
|
'posts_per_page' => get_option( 'posts_per_page' ), // phpcs:ignore WordPress.WP.PostsPerPage.posts_per_page_posts_per_page
|
|
'type' => 'click',
|
|
)
|
|
);
|
|
|
|
/**
|
|
* Add theme support for Responsive Videos.
|
|
*/
|
|
add_theme_support( 'jetpack-responsive-videos' );
|
|
|
|
/**
|
|
* Add theme support for geo-location.
|
|
*/
|
|
add_theme_support( 'jetpack-geo-location' );
|
|
}
|
|
|
|
/**
|
|
* Custom render function for Infinite Scroll.
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
public function infinite_scroll_render() {
|
|
|
|
// WooCommerce products.
|
|
if ( function_exists( 'is_shop' ) && is_shop() || function_exists( 'is_product_taxonomy' ) && is_product_taxonomy() ) {
|
|
|
|
// Shop & category pages handled by default.
|
|
return;
|
|
|
|
} else {
|
|
|
|
while ( have_posts() ) :
|
|
the_post();
|
|
get_template_part( 'template-parts/content/content', hester_get_article_feed_layout() );
|
|
endwhile;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Tweak footer credits bar link.
|
|
*
|
|
* @since 1.0.0
|
|
*/
|
|
public function tweak_credits_link() {
|
|
return '<a href="https://wordpress.org/" rel="noopener noreferrer" target="_blank">' . esc_html__( 'Proudly powered by WordPress', 'hester' ) . '</a> | <a href="https://peregrine-themes.com/hester/?utm_medium=jetpack&utm_source=tweaklink&utm_campaign=upgradeToPro" rel="noopener noreferrer" target="_blank">Hester Theme</a>';
|
|
}
|
|
|
|
/**
|
|
* Filter Jetpack infinite scroll JS settings.
|
|
*
|
|
* @since 1.0.0
|
|
* @param array $settings Infinite Scroll JS settings.
|
|
*/
|
|
public function filter_infinite_scroll_js_settings( $settings ) {
|
|
|
|
$settings['text'] = esc_html__( 'Load More', 'hester' );
|
|
|
|
return $settings;
|
|
}
|
|
|
|
}
|
|
endif;
|
|
|
|
new Hester_Jetpack();
|