Preview: TeamShortcodeWidget.php
Size: 3.04 KB
//home/nshryvcy/blissfulnepal.com/wp-content/plugins/tlp-team/app/Widgets/TeamShortcodeWidget.php
<?php
/**
* Team Shortcode Widget.
*
* @package RT_Team
*/
namespace RT\Team\Widgets;
use WP_Widget;
use RT\Team\Helpers\Fns;
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'This script cannot be accessed directly.' );
}
/**
* Team Shortcode Widget.
*/
class TeamShortcodeWidget extends WP_Widget {
function __construct() {
$widget_ops = [
'classname' => 'widget_tlpTeam',
'description' => esc_html__( 'Display the team member using TLP Team plugin.', 'tlp-team' ),
];
parent::__construct( 'widget_tlpTeam_sc', esc_html__( 'Team Widget (Shortcodes List)', 'tlp-team' ), $widget_ops );
}
function widget( $args, $instance ) {
extract( $args );
$id = ( ! empty( $instance['id'] ) ? absint( $instance['id'] ) : null );
echo $before_widget; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
if ( ! empty( $instance['title'] ) ) {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo $args['before_title'] . apply_filters(
'widget_title',
! empty( $instance['title'] ) ? esc_html( $instance['title'] ) : esc_html__( 'TLP Team', 'tlp-team' )
) . $args['after_title']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
if ( ! empty( $id ) ) {
echo do_shortcode( '[tlpteam id="' . absint( $id ) . '" ]' );
}
echo $after_widget; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
function form( $instance ) {
$scList = Fns::getTTPShortcodeList();
$defaults = [
'title' => esc_html__( 'TLP Team', 'tlp-team' ),
'id' => null,
];
$instance = wp_parse_args( (array) $instance, $defaults ); ?>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"> <?php esc_html_e( 'Title:', 'tlp-team' ); ?></label>
<input type="text" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" value="<?php echo esc_attr( $instance['title'] ); ?>" style="width:100%;"/>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'id' ) ); ?>"><?php esc_html_e( 'Select team shortcode', 'tlp-team' ); ?></label>
<select id="<?php echo esc_attr( $this->get_field_id( 'id' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'id' ) ); ?>">
<option value="">Select one</option>
<?php
if ( ! empty( $scList ) ) {
foreach ( $scList as $scId => $sc ) {
$selected = ( $scId == $instance['id'] ? 'selected' : null );
echo '<option value="' . absint( $scId ) . '" ' . esc_attr( $selected ) . '>' . esc_html( $sc ) . '</option>';
}
}
?>
</select>
</p>
<?php
}
public function update( $new_instance, $old_instance ) {
$instance = [];
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? wp_strip_all_tags( $new_instance['title'] ) : '';
$instance['id'] = ( ! empty( $new_instance['id'] ) ) ? absint( $new_instance['id'] ) : '';
return $instance;
}
}
Directory Contents
Dirs: 2 × Files: 3