public function test_expected_fields() { $fields = Shortcode_UI_Fields::get_instance()->get_fields(); $this->assertArrayHasKey('attachment', $fields); $this->assertArrayHasKey('color', $fields); $this->assertArrayHasKey('post_select', $fields); }
/** * Init Shortcake * * @return null */ function shortcode_ui_init() { $shortcode_ui = Shortcode_UI::get_instance(); $fields = Shortcode_UI_Fields::get_instance(); $attachment_field = Shortcake_Field_Attachment::get_instance(); $color_field = Shortcake_Field_Color::get_instance(); $post_field = Shortcode_UI_Field_Post_Select::get_instance(); }
public static function get_instance() { if (!isset(self::$instance)) { self::$instance = new self(); self::$instance->setup_actions(); } return self::$instance; }
* * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ define('SHORTCODE_UI_VERSION', '0.5.0'); require_once dirname(__FILE__) . '/inc/class-shortcode-ui.php'; require_once dirname(__FILE__) . '/inc/fields/class-shortcode-ui-fields.php'; require_once dirname(__FILE__) . '/inc/fields/class-field-attachment.php'; require_once dirname(__FILE__) . '/inc/fields/class-field-color.php'; require_once dirname(__FILE__) . '/inc/fields/class-field-post-select.php'; add_action('init', 'shortcode_ui_load_textdomain'); add_action('init', function () { $shortcode_ui = Shortcode_UI::get_instance(); $fields = Shortcode_UI_Fields::get_instance(); $attachment_field = Shortcake_Field_Attachment::get_instance(); $color_field = Shortcake_Field_Color::get_instance(); $post_field = Shortcode_UI_Field_Post_Select::get_instance(); }, 5); /** * Load translations * * @return null */ function shortcode_ui_load_textdomain() { load_plugin_textdomain('shortcode-ui', false, dirname(plugin_basename(__FILE__)) . '/languages/'); } /** * Register UI for Shortcode
/** * Decode any encoded attributes. * * @param array $out The output array of shortcode attributes. * @param array $pairs The supported attributes and their defaults. * @param array $atts The user defined shortcode attributes. * @return array $out The output array of shortcode attributes. */ public function filter_shortcode_atts_decode_encoded($out, $pairs, $atts) { // Get current shortcode tag from the current filter // by stripping `shortcode_atts_` from start of string. $shortcode_tag = substr(current_filter(), 15); if (!isset($this->shortcodes[$shortcode_tag])) { return $out; } $fields = Shortcode_UI_Fields::get_instance()->get_fields(); $args = $this->shortcodes[$shortcode_tag]; foreach ($args['attrs'] as $attr) { $default = isset($fields[$attr['type']]['encode']) ? $fields[$attr['type']]['encode'] : false; $encoded = isset($attr['encode']) ? $attr['encode'] : $default; if ($encoded && isset($out[$attr['attr']])) { $out[$attr['attr']] = rawurldecode($out[$attr['attr']]); } } return $out; }