- - - - - + ID; + $authorsStr .= $id.','; + } + $author = rtrim($authorsStr, ','); + } else { + $author = get_user_by('slug', $authornames)->ID; + } + $args = array( + 'post_type' => 'post', + 'category_name' => $cat, + 'tag' => $tag, + 'author' => $author, + 'post_status' => 'publish', + 'paged' => get_query_var('paged'), + ); + if( isset($args) ){ + $pattern = '#[a-zA-Z|~`!@\#$%^&*()_+=|\\}\][{\'/;\-":?>.<]#'; + $arr = array('category_name'=>$cat, 'tag'=>$tag, 'author'=>$author); + foreach( $arr as $k=>$v ){ + if( empty($v) ){ + continue; + } + if( $k == 'author' ){ + $pattern = '#[0-9|~`!@\#$%^&*()_+=|\\}\][{\'/;\-":?>.<]#'; + } + if( preg_match($pattern, $v) ){ + $args[$k] = $v; + } else { + echo '

Invalid input in field: "'.$k.'"

'; + } + } + } + query_posts( $args ); + if( have_posts() ): + while( have_posts() ): the_post(); ?>
>