name; } /** * Register a new object. * * @since 2.0.0 * @access public * @param string $name * @param array $args { * @type string $label Internationalized text label. * @type string $icon Dashicon icon in the form of `dashicons-icon-name`. * @type array $caps Array of capabilities in the addon. * @type bool $merge_added Whether to merge this caps into the added caps array. * @type bool $diff_added Whether to remove previously-added caps from this addon. * } * @return void */ public function __construct( $name, $args = array() ) { foreach ( array_keys( get_object_vars( $this ) ) as $key ) { if ( isset( $args[ $key ] ) ) { $this->$key = $args[ $key ]; } } $this->name = sanitize_key( $name ); $this->is_memberpress = isset( $args['is_memberpress'] ) && true === $args['is_memberpress']; if ( ! $this->icon_url ) { $this->icon_url = members_plugin()->uri . 'img/icon-addon.png'; } } }