* @param arr there is the custom arg "newsletter_status" (values: sent, sendable , paused); for other args see: http://codex.wordpress.org/Template_Tags/get_posts */ function alo_easymail_get_newsletters ( $args=false ) { global $wp_version; if ( !is_array( $args ) ) $args = array(); $args["post_type"] = "newsletter"; $status = ( isset( $args["newsletter_status"] ) && in_array( $args["newsletter_status"], array( 'sent', 'sendable', 'paused' ) ) ) ? $args["newsletter_status"] : 'sent'; if ( version_compare ( $wp_version, '3.1', '>=' ) ) { $meta_1 = array( 'key' => '_easymail_status', 'value' => $status, 'compare' => '=' ); $args['meta_query'] = array( $meta_1 ); } else { $args['meta_key'] = '_easymail_status'; $args['meta_value'] = $status; $args['meta_compare'] = '='; } return get_posts ( $args ); } /** * Get the selected Newsletters using a Shortcode * * Using 'alo_easymail_get_newsletters' to get posts. * Put [ALO-EASYMAIL-ARCHIVE] in a page or post * @param arr there are 3 custom args: "newsletter_status" (values: sent, sendable , paused), * "ul_class", * "li_format" (values: 'title_date', 'date_title', 'title', 'date') * @link for other args see: http://codex.wordpress.org/Template_Tags/get_posts */ function alo_easymail_print_archive ( $atts=false, $content="" ) { global $post; $defaults = array( 'ul_class' => 'easymail-newsletter-archive', 'li_format' => 'title_date' ); $args = wp_parse_args( $atts, $defaults ); $newsletters = alo_easymail_get_newsletters( $args ); if ( $newsletters ) { $output = ""; wp_reset_postdata(); return $output; } } add_shortcode('ALO-EASYMAIL-ARCHIVE', 'alo_easymail_print_archive'); /* EOF */