Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
/**
 * 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
Ejemplo n.º 5
0
 /**
  * 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;
 }