Ejemplo n.º 1
0
     *
     * @return mixed
     */
    static function extract_prefixed_args($prefixed_args, $prefixes, $args = array())
    {
        $extracted_args = array();
        $args = wp_parse_args($args, array('strip_prefix' => true));
        if (is_string($original = $prefixes)) {
            $prefixes = array($prefixes => $prefixes);
        }
        if (is_array($prefixes) && count($prefixes)) {
            $extracted_args = array_fill_keys(array_keys($prefixes), array());
            $match_regex = '#^(' . implode('|', $prefixes) . ')_(.*)$#';
            foreach ($prefixed_args as $arg_name => $arg_value) {
                if (preg_match($match_regex, $arg_name, $match)) {
                    if ($args['strip_prefix'] || 2 <= substr_count($arg_name, '_')) {
                        $extracted_args[$match[1]][$match[2]] = $arg_value;
                    } else {
                        $extracted_args[$match[1]][$arg_name] = $arg_value;
                    }
                }
            }
        }
        return is_string($original) ? $extracted_args[$original] : $extracted_args;
    }
    static function strip_arg_prefixes($prefixed_args, $prefixes)
    {
    }
}
WP_Metadata::on_load();