, Ruben Garcia * @since 1.3.1 */ // Exit if accessed directly if( !defined( 'ABSPATH' ) ) exit; class GamiPress_Rank_Widget extends GamiPress_Widget { /** * Shortcode for this widget. * * @var string */ protected $shortcode = 'gamipress_rank'; public function __construct() { parent::__construct( $this->shortcode . '_widget', __( 'GamiPress: Rank', 'gamipress' ), __( 'Display a desired rank.', 'gamipress' ) ); } public function get_fields() { // Need to change field title to show_title to avoid problems with widget title field $fields = GamiPress()->shortcodes[$this->shortcode]->fields; // Get the fields keys $keys = array_keys( $fields ); // Get the numeric index of the field 'title' $index = array_search( 'title', $keys ); // Replace the 'title' key by 'show_title' $keys[$index] = 'show_title'; // Combine new array with new keys with an array of values $fields = array_combine( $keys, array_values( $fields ) ); return $fields; } public function get_widget( $args, $instance ) { // Get back replaced fields $instance['title'] = $instance['show_title']; // Build shortcode attributes from widget instance $atts = gamipress_build_shortcode_atts( $this->shortcode, $instance ); echo gamipress_do_shortcode( $this->shortcode, $atts ); } }