StarterBlog()->get_setting( $customizer_args['prefix'] . '_layout' ), 'excerpt_type' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_excerpt_type' ), 'excerpt_length' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_excerpt_length' ), 'excerpt_more' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_excerpt_more' ), 'more_text' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_more_text' ), 'more_display' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_more_display' ), 'thumbnail_size' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_thumbnail_size' ), 'hide_thumb_if_empty' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_hide_thumb_if_empty' ), 'meta_config' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_meta_config' ), 'meta_sep' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_meta_sep' ), 'author_avatar' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_author_avatar' ), 'media_hide' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_media_hide' ), ); $size = StarterBlog()->get_setting( $customizer_args['prefix'] . '_avatar_size' ); if ( is_array( $size ) && isset( $size['value'] ) ) { $args['avatar_size'] = absint( $size['value'] ); } $pagination = array( 'show_paging' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_pg_show_paging' ), 'show_nav' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_pg_show_nav' ), 'mid_size' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_pg_mid_size' ), 'prev_text' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_pg_prev_text' ), 'next_text' => StarterBlog()->get_setting( $customizer_args['prefix'] . '_pg_next_text' ), ); $args['pagination'] = is_array( $pagination ) ? $pagination : array(); $this->customizer_args = $customizer_args; $_args = wp_parse_args( $args, array( 'layout' => '', 'columns' => '', 'excerpt_length' => '', 'excerpt_more' => '', 'more_text' => '', 'more_display' => 1, 'thumbnail_size' => '', 'hide_thumb_if_empty' => 1, 'pagination' => array(), 'meta_config' => array(), 'meta_sep' => null, ) ); if ( ! $_args['layout'] || is_array( $_args['layout'] ) ) { $_args['layout'] = 'blog_classic'; } $_args['pagination'] = wp_parse_args( $_args['pagination'], array( 'show_paging' => 1, 'show_number' => 1, 'show_nav' => 1, 'prev_text' => '', 'next_text' => '', 'mid_size' => 3, ) ); if ( ! $_args['columns'] ) { $c = $this->get_predefined( $_args['layout'] ); if ( $c ) { $_args['columns'] = $c['columns']; } } $_args['columns'] = absint( $_args['columns'] ); if ( $_args['columns'] < 1 ) { $_args['columns'] = 1; } if ( ( ! isset( $args['columns'] ) || ! $args['columns'] ) && 'blog_masonry' == $_args['layout'] ) { $_args['columns'] = 3; } if ( in_array( $_args['layout'], array( 'blog_lateral', 'blog_classic' ) ) ) { // phpcs:ignore $_args['columns'] = 1; } $_args['pagination']['mid_size'] = absint( $_args['pagination']['mid_size'] ); if ( empty( $_args['meta_config'] ) ) { $_args['meta_config'] = array( array( '_key' => 'author', ), array( '_key' => 'date', ), array( '_key' => 'categories', ), array( '_key' => 'comment', ), ); } $this->args = $_args; $this->args['header_fields'] = array( array( '_visibility' => '', '_key' => 'title', ), array( '_key' => 'meta', '_visibility' => '', ), ); $this->args['body_fields'] = array( array( '_key' => 'excerpt', '_visibility' => '', ), ); $this->args['footer_fields'] = array( array( '_key' => 'readmore', '_visibility' => '', ), ); $this->args['media_fields'] = array(); if ( isset( $this->customizer_args['_overwrite'] ) ) { $this->args = array_merge( $this->args, $this->customizer_args['_overwrite'] ); } StarterBlog_Post_Entry()->set_config( $this->args ); } function has_only_field( $fields, $field = 'category' ) { $check = false; $n = 0; $c = false; foreach ( (array) $fields as $item ) { $item = wp_parse_args( $item, array( '_key' => '', '_visibility' => '', ) ); if ( 'hidden' !== $item['_visibility'] ) { $n ++; if ( $item['_key'] == $field ) { $c = true; } } } if ( $c && $n < 2 ) { $check = true; } else { $check = false; } return $check; } function count_item_visibility( $fields ) { $n = 0; foreach ( (array) $fields as $item ) { $item = wp_parse_args( $item, array( '_key' => '', '_visibility' => '', ) ); if ( 'hidden' !== $item['_visibility'] ) { $n ++; } } return $n; } function item_part( $part = '', $post = null, $inner_class = '' ) { $n = $this->count_item_visibility( $this->args[ $part . '_fields' ] ); if ( isset( $this->args[ $part . '_fields' ] ) && $n > 0 ) { if ( 'media' == $part && $this->has_only_field( $this->args[ $part . '_fields' ] ) ) { StarterBlog_Post_Entry()->build_fields( $this->args[ $part . '_fields' ], $post ); } else { $only_more = $this->has_only_field( $this->args[ $part . '_fields' ], 'readmore' ); $classes = array(); $classes[] = 'entry-article-part entry-article-' . $part; if ( $only_more ) { $classes[] = 'only-more'; } echo '
'; if ( $inner_class ) { echo '
'; } StarterBlog_Post_Entry()->build_fields( $this->args[ $part . '_fields' ], $post ); if ( $inner_class ) { echo '
'; } echo '
'; } } } function layout( $post = null ) { $media_fields = array( array( '_key' => 'thumbnail', ), ); if ( $this->args['media_hide'] ) { $show_media = false; } else { $show_media = true; if ( ! has_post_thumbnail( $post ) ) { if ( $this->args['hide_thumb_if_empty'] ) { $show_media = false; } } } switch ( $this->args['layout'] ) { case 'blog_column': $this->item_part( 'header', $post ); if ( $show_media && $this->count_item_visibility( $this->args['header_fields'] ) ) { ?>
build_fields( $media_fields, $post ); $this->item_part( 'media', $post, 'media-content-inner' ); ?>
item_part( 'body', $post ); $this->item_part( 'footer', $post ); ?>
count_item_visibility( $this->args['header_fields'] ) ) { ?>
build_fields( $media_fields, $post ); $this->item_part( 'media', $post, 'media-content-inner' ); ?>
item_part( 'header', $post ); $this->item_part( 'body', $post ); $this->item_part( 'footer', $post ); ?>
args['columns'] ) && $this->args['columns'] > 1 ) { $entry_class[] = 'starterblog-col'; } elseif ( is_array( $this->args['columns'] ) ) { $entry_class[] = 'starterblog-col'; } if ( $class ) { $entry_class[] = $class; } if ( $this->entry_class ) { $entry_class[] = $this->entry_class; } $key = 'loop'; if ( is_single() ) { $key = 'single'; } StarterBlog_Post_Entry()->set_post( $post ); /** * Hook before each post * * @since 0.2.0 */ do_action( "starterblog/before-post/{$key}" ); ?>
>
layout( $post ); ?>
array( 'columns' => 1, 'pagination' => array(), ), 'blog_lateral' => array( 'columns' => 1, 'pagination' => array(), ), 'blog_boxed' => array( 'columns' => 2, 'pagination' => array(), ), ); if ( ! empty( $layout ) ) { if ( isset( $presets[ $layout ] ) && $presets[ $layout ] ) { return $presets[ $layout ]; } } return false; } function render( $customizer_args = array() ) { $this->set_args( $customizer_args ); $classes = array(); $atts = array(); if ( is_numeric( $this->args['columns'] ) && $this->args['columns'] > 1 ) { $classes['grid'] = 'starterblog-grid-' . $this->args['columns']; $atts['data-col'] = $this->args['columns']; } elseif ( is_array( $this->args['columns'] ) ) { $this->args['columns'] = wp_parse_args( $this->args['columns'], array( 'desktop' => 1, 'tablet' => 1, 'mobile' => 1, ) ); foreach ( $this->args['columns'] as $d => $v ) { $v = absint( $v ); if ( $v < 1 ) { $v = 1; } elseif ( $v > 12 ) { $v = 12; } $this->args['columns'][ $d ] = $v; $atts[ 'data-col-' . $d ] = $v; } $classes['grid'] = sprintf( 'starterblog-grid-%1$s_sm-%2$s_xs-%3$s', $this->args['columns']['desktop'], $this->args['columns']['tablet'], $this->args['columns']['mobile'] ); } $classes[] = 'posts-layout'; $classes[] = 'layout--' . $this->args['layout']; $s_atts = ''; foreach ( $atts as $k => $v ) { $s_atts .= " {$k}='" . esc_attr( $v ) . "' "; } do_action( 'starterblog/blog/before-render', $this ); ?>
> args['layout'] ) { echo '
'; } ?> blog_item( $post, ( 0 == $i % 2 ) ? 'even' : 'odd' ); $i ++; } } else { get_template_part( 'template-parts/content', 'none' ); } ?>
render_pagination(); ?>
args['pagination']['show_paging'] ) { return; } $prev_next = true; if ( $this->args['pagination']['show_nav'] ) { $prev_text = $this->args['pagination']['prev_text']; $next_text = $this->args['pagination']['next_text']; if ( ! $prev_text ) { $prev_text = _x( 'Previous', 'previous set of posts', 'starter-blog' ); } if ( ! $next_text ) { $next_text = _x( 'Next', 'next set of posts', 'starter-blog' ); } } else { $prev_text = false; $next_text = false; $prev_next = false; } the_posts_pagination( array( 'mid_size' => ( $this->args['pagination']['mid_size'] ) ? 3 : 0, 'prev_text' => $prev_text, 'next_text' => $next_text, 'prev_next' => $prev_next, ) ); } }