esc_html__( 'Slider 1', 'bayleaf' ), 'slider2' => esc_html__( 'Slider 2', 'bayleaf' ), ] ); } /** * Register widget display posts entry wrapper classes. * * @param str $classes Comma separated entry posts classes. * @param array $instance Settings for the current widget instance. * @param Object $widget The widget instance. * @return str Entry posts classes. */ public function wrapper_classes( $classes, $instance, $widget ) { if ( false !== strpos( $instance['styles'], 'slider' ) ) { $classes[] = 'slider-wrapper'; $classes[] = 'widescreen'; } return $classes; } /** * Get args for displaying elements for specific dp style. * * @param arr $ins Display posts instructions. * @param str $style Style for this widget instance. * @return array */ public function get_style_args( $ins, $style ) { switch ( $style ) { case 'slider1': $d = [ 'thumbnail-large', [ 'category', 'title', 'excerpt' ] ]; break; case 'slider2': $d = [ 'thumbnail-large', [ [ 'title', 'excerpt' ] ] ]; break; default: $d = $ins; } return $d; } /** * Modify display post's excerpt length. * * @since 1.0.0 * * @param int $length Excerpt length. * @param str $style Current display post style. * @return int Excerpt length. */ public function excerpt_length( $length, $style ) { if ( 'slider1' === $style ) { $length = 0; } if ( 'slider2' === $style ) { $length = 25; } return $length; } /** * Modify display post's excerpt length. * * @since 1.0.0 * * @param str $teaser Excerpt teaser. * @param str $style Current display post style. * @return int Excerpt teaser. */ public function excerpt_more( $teaser, $style ) { if ( 'slider1' === $style ) { $exrpt_url = esc_url( get_permalink() ); $exrpt_text = esc_html__( 'Read More', 'bayleaf' ); $teaser = sprintf( '', $exrpt_url, $exrpt_text ); } return $teaser; } /** * Display slider navigation. * * @since 1.0.0 * * @param array $args Settings & args for the current widget instance. */ public function navigate( $args ) { $instance = $args['instance']; $query = $args['query']; if ( 1 >= $query->post_count ) { return; } if ( false === strpos( $instance['styles'], 'slider' ) ) { return; } $navigation = sprintf( '', bayleaf_get_icon( [ 'icon' => 'angle-left' ] ), esc_html__( 'Previous Slide', 'bayleaf' ) ); $navigation .= sprintf( '', bayleaf_get_icon( [ 'icon' => 'angle-right' ] ), esc_html__( 'Next Slide', 'bayleaf' ) ); if ( 'slider2' === $instance['styles'] ) { echo $navigation; // WPCS xss ok. Contains HTML, other values escaped. } else { printf( '
%s
', $navigation ); // WPCS xss ok. Contains HTML, other values escaped. } } } Display_Posts_Pro::init();