add_action('widgets_init', 'widget_register_DearLicyonepost'); function widget_register_DearLicyonepost() { register_widget('widget_ui_DearLicy_oneposts'); } class widget_ui_DearLicy_oneposts extends WP_Widget { public function __construct() { $widget = array( 'w_id' => 'widget_ui_DearLicy_oneposts', 'w_name' => 'A定制·单行文章列表', 'classname' => '', 'description' => '显示文章列表,只显示一行,自动横向滚动', ); parent::__construct($widget['w_id'], $widget['w_name'], $widget); } public function widget($args, $instance) { if (!zib_widget_is_show($instance)) { return; } extract($args); $defaults = array( 'title' => '', 'mini_title' => '', 'more_but' => '更多', 'more_but_url' => '', 'in_affix' => '', 'type' => 'auto', 'limit' => 6, 'limit_day' => '', 'topics' => '', 'cat' => '', 'orderby' => 'views', ); $instance = wp_parse_args((array) $instance, $defaults); $orderby = $instance['orderby']; $mini_title = $instance['mini_title']; if ($mini_title) { $mini_title = '' . $mini_title . ''; } $title = $instance['title']; $more_but = ''; if ($instance['more_but'] && $instance['more_but_url']) { $more_but = '
'; } $mini_title .= $more_but; if ($title) { $title = ''.json_encode($instance).''; $args = array( 'post_status' => 'publish', 'cat' => str_replace(',', ',', $instance['cat']), 'order' => 'DESC', 'showposts' => $instance['limit'], 'no_found_rows' => true, //不需要分页,不查询分页需要的总数量 'ignore_sticky_posts' => 1, ); if ($orderby !== 'views' && $orderby !== 'favorite' && $orderby !== 'like') { $args['orderby'] = $orderby; } else { $args['orderby'] = 'meta_value_num'; $args['meta_query'] = array( array( 'key' => $orderby, 'order' => 'DESC', ), ); } if ($instance['topics']) { $args['tax_query'] = array( array( 'taxonomy' => 'topics', 'terms' => preg_split("/,|,|s|n/", $instance['topics']), ), ); } if ($instance['limit_day'] > 0) { $current_time = current_time('Y-m-d H:i:s'); $args['date_query'] = array( array( 'after' => date('Y-m-d H:i:s', strtotime("-" . $instance['limit_day'] . " day", strtotime($current_time))), 'before' => $current_time, 'inclusive' => true, ), ); } $list_args = array( 'type' => 'card', ); $the_query = new WP_Query($args); echo '