123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- /**
- * Jetpack Compatibility File
- * See: http://jetpack.me/
- *
- * @package Sketch
- */
- /**
- * Add theme support for Infinite Scroll.
- * See: http://jetpack.me/support/infinite-scroll/
- */
- function sketch_jetpack_setup() {
- add_theme_support( 'infinite-scroll', array(
- 'container' => 'main',
- 'posts_per_page' => 9,
- 'footer' => 'page',
- 'render' => 'sketch_infinite_scroll_render',
- 'wrapper' => false,
- ) );
- add_theme_support( 'featured-content', array(
- 'filter' => 'sketch_get_featured_posts',
- 'max_posts' => 10,
- 'post_types' => array( 'post', 'page', 'jetpack-portfolio' ),
- ) );
- /**
- * Add theme support for Responsive Videos.
- */
- add_theme_support( 'jetpack-responsive-videos' );
- /**
- * Add theme support for Jetpack portfolios
- */
- add_theme_support( 'jetpack-portfolio', array(
- 'title' => true,
- 'content' => true,
- 'featured-image' => true,
- ) );
- /**
- * Add theme support for site logos
- */
- add_theme_support( 'site-logo', array(
- 'size' => 'sketch-site-logo'
- ) );
- }
- add_action( 'after_setup_theme', 'sketch_jetpack_setup' );
- /**
- * Define the code that is used to render the posts added by Infinite Scroll.
- *
- * Includes the whole loop. Used to include the correct template part for the Portfolio CPT.
- */
- function sketch_infinite_scroll_render() {
- while ( have_posts() ) {
- the_post();
- if ( is_post_type_archive( 'jetpack-portfolio' ) || is_tax( 'jetpack-portfolio-type' ) || is_tax( 'jetpack-portfolio-tag' ) ) {
- get_template_part( 'content', 'portfolio' );
- } else {
- get_template_part( 'content', get_post_format() );
- }
- }
- }
- function sketch_get_featured_posts() {
- return apply_filters( 'sketch_get_featured_posts', array() );
- }
- function sketch_has_featured_posts( $minimum = 1 ) {
- if ( is_paged() )
- return false;
- $minimum = absint( $minimum );
- $featured_posts = apply_filters( 'sketch_get_featured_posts', array() );
- if ( ! is_array( $featured_posts ) )
- return false;
- if ( $minimum > count( $featured_posts ) )
- return false;
- return true;
- }
- /**
- * Portfolio Title.
- */
- function sketch_portfolio_title( $before = '', $after = '' ) {
- $jetpack_portfolio_title = get_option( 'jetpack_portfolio_title' );
- $title = '';
- if ( is_post_type_archive( 'jetpack-portfolio' ) ) {
- if ( isset( $jetpack_portfolio_title ) && '' != $jetpack_portfolio_title ) {
- $title = esc_html( $jetpack_portfolio_title );
- } else {
- $title = post_type_archive_title( '', false );
- }
- } elseif ( is_tax( 'jetpack-portfolio-type' ) || is_tax( 'jetpack-portfolio-tag' ) ) {
- $title = single_term_title( '', false );
- }
- echo $before . $title . $after;
- }
- /**
- * Portfolio Content.
- */
- function sketch_portfolio_content( $before = '', $after = '' ) {
- $jetpack_portfolio_content = get_option( 'jetpack_portfolio_content' );
- if ( is_tax() && get_the_archive_description() ) {
- echo $before . get_the_archive_description() . $after;
- } else if ( isset( $jetpack_portfolio_content ) && '' != $jetpack_portfolio_content ) {
- $content = convert_chars( convert_smilies( wptexturize( wp_kses_post( $jetpack_portfolio_content ) ) ) );
- echo $before . $content . $after;
- }
- }
- /**
- * Portfolio Featured Image.
- */
- function sketch_portfolio_featured_image( $before = '', $after = '' ) {
- $jetpack_portfolio_featured_image = get_option( 'jetpack_portfolio_featured_image' );
- if ( isset( $jetpack_portfolio_featured_image ) && '' != $jetpack_portfolio_featured_image ) {
- $featured_image = wp_get_attachment_image( (int) $jetpack_portfolio_featured_image, 'sketch-featured' );
- echo $before . $featured_image . $after;
- }
- }
- /**
- * Filter Infinite Scroll text handle.
- */
- function sketch_portfolio_infinite_scroll_navigation( $js_settings ) {
- if ( is_post_type_archive( 'jetpack-portfolio' ) || is_tax( 'jetpack-portfolio-type' ) || is_tax( 'jetpack-portfolio-tag' ) ) {
- $js_settings[ 'text' ] = esc_js( esc_html__( 'Older projects', 'sketch' ) );
- }
- return $js_settings;
- }
- add_filter( 'infinite_scroll_js_settings', 'sketch_portfolio_infinite_scroll_navigation' );
|