Viewing File: /home/fshjisk/mimikoparis/wp-content/plugins/content-control/classes/Widget.php
<?php
namespace JP\CC;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Class JP\CC\Widgets
*/
class Widget {
/**
* Retrieve data for a widget from options table.
*
* @param string $widget_id The unique ID of a widget.
*
* @return array The array of widget settings or empty array if none
*/
public static function get_options( $widget_id ) {
static $options = array();
// If already loaded, return existing settings.
if ( ! isset( $options[ $widget_id ] ) ) {
$split_pos = strrpos( $widget_id, '-' );
if ( false === $split_pos ) {
return array();
}
$basename = substr( $widget_id, 0, $split_pos ); // Examples: "text-2" will return "text", "recent-post-2" will return "recent-post"
$index = substr( $widget_id, $split_pos + 1 ); // Examples: "text-2" will return "2", "recent-post-2" will return "2"
$widget_settings = get_option( 'widget_' . $basename );
if ( isset( $widget_settings[ $index ] ) ) {
$options[ $widget_id ] = static::parse_options( $widget_settings[ $index ] );
}
}
return isset( $options[ $widget_id ] ) ? $options[ $widget_id ] : array();
}
/**
* Checks for & adds missing widget options to prevent errors or missing data.
*
* @param array $options
*
* @return array
*/
public static function parse_options( $options = array() ) {
if ( ! is_array( $options ) ) {
$options = array();
}
return wp_parse_args( $options, array(
'which_users' => '',
'roles' => array(),
) );
}
}
Back to Directory
File Manager