'widget-oceanwp-custom-links custom-links-widget',
'description' => esc_html__( 'Displays custom links.', 'ocean-extra' ),
'customize_selective_refresh' => true,
)
);
}
/**
* Front-end display of widget.
*
* @see WP_Widget::widget()
* @since 1.0.0
*
* @param array $args Widget arguments.
* @param array $instance Saved values from database.
*/
public function widget( $args, $instance ) {
$title = isset( $instance['title'] ) ? apply_filters( 'widget_title', $instance['title'] ) : '';
$count = isset( $instance['count'] ) ? $instance['count'] : '';
$target = isset( $instance['target'] ) ? $instance['target'] : '';
$nofollow = isset( $instance['nofollow'] ) ? $instance['nofollow'] : '';
// Before widget WP hook.
echo $args['before_widget'];
// Show widget title.
if ( $title ) {
echo $args['before_title'] . esc_html( $title ) . $args['after_title'];
}
// Determine link rel.
$ocean_srt = '' . esc_html__( 'Opens in a new tab', 'ocean-extra' ) . '';
$results = ocean_link_rel( $ocean_srt, $nofollow, $target );
$ocean_sr = $results[0];
$link_rel = $results[1];
// Display custom links.
echo '
';
if ( $count !== '0' ) {
for ( $i = 1; $i <= $count; $i++ ) {
$url = isset( $instance[ 'url_' . $i ] ) ? $instance[ 'url_' . $i ] : '';
$text = isset( $instance[ 'text_' . $i ] ) ? $instance[ 'text_' . $i ] : '';
echo '- ';
echo '' . esc_attr( $text ) . '';
echo $ocean_sr;
echo '
';
}
}
echo '
';
// After widget WP hook.
echo $args['after_widget'];
}
/**
* Updates the widget control options for the particular instance of the widget.
*
* @since 1.0.0
*/
public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = ! empty( $new_instance['title'] ) ? strip_tags( $new_instance['title'] ) : '';
$instance['count'] = ! empty( $new_instance['count'] ) ? strip_tags( $new_instance['count'] ) : '';
$instance['target'] = ! empty( $new_instance['target'] ) ? strip_tags( $new_instance['target'] ) : '';
$instance['nofollow'] = ! empty( $new_instance['nofollow'] ) ? strip_tags( $new_instance['nofollow'] ) : '';
for ( $i = 1;$i <= $instance['count'];$i++ ) {
$instance[ 'url_' . $i ] = ! empty( $new_instance[ 'url_' . $i ] ) ? strip_tags( $new_instance[ 'url_' . $i ] ) : '';
$instance[ 'text_' . $i ] = ! empty( $new_instance[ 'text_' . $i ] ) ? strip_tags( $new_instance[ 'text_' . $i ] ) : '';
}
return $instance;
}
/**
* Back-end widget form.
*
* @see WP_Widget::form()
* @since 1.0.0
*
* @param array $instance Previously saved values from database.
*/
public function form( $instance ) {
$settings = wp_parse_args(
(array) $instance,
array(
'title' => esc_attr__( 'Useful Links', 'ocean-extra' ),
'count' => '5',
'target' => esc_html__( 'Blank', 'ocean-extra' ),
'nofollow' => esc_html__( 'No', 'ocean-extra' ),
)
);
$title = $settings['title'];
$count = $settings['count'];
$target = $settings['target'];
$nofollow = $settings['nofollow'];
for ( $i = 1;$i <= 15;$i++ ) {
$url = 'url_' . $i;
$$url = isset( $instance[ $url ] ) ? $instance[ $url ] : '';
$text = 'text_' . $i;
$$text = isset( $instance[ $text ] ) ? $instance[ $text ] : '';
}
?>