88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Kadence\Jetpack\Component class
 | |
|  *
 | |
|  * @package kadence
 | |
|  */
 | |
| 
 | |
| namespace Kadence\Jetpack;
 | |
| 
 | |
| use Kadence\Component_Interface;
 | |
| use function add_action;
 | |
| use function add_theme_support;
 | |
| use function have_posts;
 | |
| use function the_post;
 | |
| use function is_search;
 | |
| use function get_template_part;
 | |
| use function get_post_type;
 | |
| 
 | |
| /**
 | |
|  * Class for adding Jetpack plugin support.
 | |
|  */
 | |
| class Component implements Component_Interface {
 | |
| 
 | |
| 	/**
 | |
| 	 * Gets the unique identifier for the theme component.
 | |
| 	 *
 | |
| 	 * @return string Component slug.
 | |
| 	 */
 | |
| 	public function get_slug() : string {
 | |
| 		return 'jetpack';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Adds the action and filter hooks to integrate with WordPress.
 | |
| 	 */
 | |
| 	public function initialize() {
 | |
| 		add_action( 'after_setup_theme', array( $this, 'action_add_jetpack_support' ) );
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Adds theme support for the Jetpack plugin.
 | |
| 	 *
 | |
| 	 * See: https://jetpack.com/support/infinite-scroll/
 | |
| 	 * See: https://jetpack.com/support/responsive-videos/
 | |
| 	 * See: https://jetpack.com/support/content-options/
 | |
| 	 */
 | |
| 	public function action_add_jetpack_support() {
 | |
| 
 | |
| 		// Add theme support for Infinite Scroll.
 | |
| 		add_theme_support(
 | |
| 			'infinite-scroll',
 | |
| 			array(
 | |
| 				'container' => 'archive-container',
 | |
| 				'footer'    => false,
 | |
| 				'wrapper'   => false,
 | |
| 				'render'    => function() {
 | |
| 					while ( have_posts() ) {
 | |
| 						the_post();
 | |
| 						if ( is_search() ) {
 | |
| 							get_template_part( 'template-parts/content/entry', 'search' );
 | |
| 						} else {
 | |
| 							get_template_part( 'template-parts/content/entry', get_post_type() );
 | |
| 						}
 | |
| 					}
 | |
| 				},
 | |
| 			)
 | |
| 		);
 | |
| 
 | |
| 		// Add theme support for Responsive Videos.
 | |
| 		add_theme_support( 'jetpack-responsive-videos' );
 | |
| 
 | |
| 		// Add theme support for Content Options.
 | |
| 		add_theme_support(
 | |
| 			'jetpack-content-options',
 | |
| 			array(
 | |
| 				'post-details' => array(
 | |
| 					'stylesheet' => 'kadence-content',
 | |
| 					'date'       => '.posted-on',
 | |
| 					'categories' => '.category-links',
 | |
| 					'tags'       => '.tag-links',
 | |
| 					'author'     => '.posted-by',
 | |
| 					'comment'    => '.comments-link',
 | |
| 				),
 | |
| 			)
 | |
| 		);
 | |
| 	}
 | |
| }
 |