__( 'Output one of your related-content Displays in a widget area.', 'advanced-css3-related-posts-widget' ), 'classname' => 'srpp-widget', ) ); } /** * Front-end output. * * @param array $args Widget args. * @param array $instance Instance settings. */ public function widget( $args, $instance ) { $display_id = isset( $instance['display_id'] ) ? absint( $instance['display_id'] ) : 0; $display = SRPP_Display::get( $display_id ); if ( ! $display ) { return; } if ( ! SRPP_Conditions::passes( $display, (int) get_the_ID(), 'manual' ) ) { return; } $html = srpp()->render->render( $display, array( 'post_id' => (int) get_the_ID(), 'items' => isset( $instance['items'] ) ? absint( $instance['items'] ) : 0, 'cols_d' => isset( $instance['columns'] ) ? absint( $instance['columns'] ) : 1, 'cols_t' => isset( $instance['columns'] ) ? absint( $instance['columns'] ) : 1, 'cols_m' => 1, 'placement' => 'widget', ) ); if ( '' === $html ) { return; } echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput if ( ! empty( $instance['title'] ) ) { echo $args['before_title'] . esc_html( $instance['title'] ) . $args['after_title']; // phpcs:ignore WordPress.Security.EscapeOutput } echo $html; // phpcs:ignore WordPress.Security.EscapeOutput echo $args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput } /** * Settings form. * * @param array $instance Instance. * @return string */ public function form( $instance ) { $display_id = isset( $instance['display_id'] ) ? absint( $instance['display_id'] ) : 0; $title = isset( $instance['title'] ) ? $instance['title'] : ''; $items = isset( $instance['items'] ) ? absint( $instance['items'] ) : 0; $columns = isset( $instance['columns'] ) ? absint( $instance['columns'] ) : 1; ?>

sanitize_text_field( isset( $new['title'] ) ? $new['title'] : '' ), 'display_id' => absint( isset( $new['display_id'] ) ? $new['display_id'] : 0 ), 'items' => absint( isset( $new['items'] ) ? $new['items'] : 0 ), 'columns' => max( 1, absint( isset( $new['columns'] ) ? $new['columns'] : 1 ) ), ); } }