__( 'Display an AdVajra Ad or Placement in your sidebar.', 'advajra' ) ] ); } /** * Render widget output. * * @param array $args Widget arguments. * @param array $instance Saved values. */ public function widget( $args, $instance ) { $type = ! empty( $instance['type'] ) ? sanitize_text_field( $instance['type'] ) : 'ad'; $id = ! empty( $instance['id'] ) ? absint( $instance['id'] ) : 0; if ( ! $id ) { return; } echo wp_kses_post( $args['before_widget'] ); if ( ! empty( $instance['title'] ) ) { echo wp_kses_post( $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'] ); } if ( 'ad' === $type ) { echo wp_kses_post( \AdVajra\Delivery\AdRenderer::render( $id, \AdVajra\Delivery\RenderContext::WIDGET ) ); } elseif ( 'placement' === $type ) { echo wp_kses_post( \AdVajra\Delivery\PlacementRenderer::render( $id, \AdVajra\Delivery\RenderContext::WIDGET ) ); } echo wp_kses_post( $args['after_widget'] ); } /** * Render widget form. * * @param array $instance Current settings. */ public function form( $instance ) { $title = ! empty( $instance['title'] ) ? $instance['title'] : ''; $type = ! empty( $instance['type'] ) ? $instance['type'] : 'ad'; $id = ! empty( $instance['id'] ) ? absint( $instance['id'] ) : 0; $ads = \AdVajra\Model\Ad::get_all( [ 'post_status' => 'publish' ] ); $placements = \AdVajra\Model\Placement::get_embed_eligible(); ?>