Custom Query Arguments

/**
 * Define a new function that uses $args and wp_parse_args()
 */
function explain_parse_args( $args ) {
    $defaults = array (
        'text' => 'wp_parse_args() merges $args into $defaults',
        'before' => "

", 'after' => "

\n", 'echo' => TRUE ); // Parse incomming $args into an array and merge it with $defaults $args = wp_parse_args( $args, $defaults ); // OPTIONAL: Declare each item in $args as its own variable i.e. $type, $before. extract( $args, EXTR_SKIP ); $output = $before . $text . $after; if (!$echo) return $output; echo $output; } /** * Run our new function using the defaults (no $args) * This would print out: *

wp_parse_args() merges $args into $defaults

*/ explain_parse_args(); /** * Run the function with some options overriden with an array * This would echo the output with the modified text and before arguments: * A better explanation */ explain_parse_args( array ( 'text' => "A better explanation", 'before' => "" ) ); /** * We can also pass in URL-style string-query and it will be converted * This would set $args['echo'] to 1 and $args['text'] to 0 */ explain_parse_args( 'echo=1&text=0' );