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 = '
' . $instance['more_but'] . '
'; } $mini_title .= $more_but; if ($title) { $title = '
' . $title . '
' . $mini_title . '
'; } $in_affix = $instance['in_affix'] ? ' data-affix="true"' : ''; echo ''; // echo '
'.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 '
'; echo $title; echo '
'; echo '
'; echo '
'; zib_posts_list($list_args, $the_query); echo '
'; echo '
'; echo '
'; echo '
'; echo ''; } public function form($instance) { $defaults = array( 'title' => '
MAC应用
', 'mini_title' => '', 'more_but' => '更多', 'more_but_url' => '', 'in_affix' => '', 'limit' => 6, 'limit_day' => '', 'type' => 'auto', 'topics' => '', 'cat' => '', 'orderby' => 'views', ); $instance = wp_parse_args((array) $instance, $defaults); $page_input[] = array( 'name' => __('标题:', 'zib_language'), 'id' => $this->get_field_name('title'), 'std' => $instance['title'], 'style' => 'margin: 10px auto;', 'type' => 'text', ); $page_input[] = array( 'name' => __('副标题:', 'zib_language'), 'id' => $this->get_field_name('mini_title'), 'std' => $instance['mini_title'], 'style' => 'margin: 10px auto;', 'type' => 'text', ); $page_input[] = array( 'name' => __('标题右侧按钮->文案:', 'zib_language'), 'id' => $this->get_field_name('more_but'), 'std' => $instance['more_but'], 'style' => 'margin: 10px auto;', 'type' => 'text', ); $page_input[] = array( 'name' => __('标题右侧按钮->链接:', 'zib_language'), 'id' => $this->get_field_name('more_but_url'), 'std' => $instance['more_but_url'], 'desc' => '设置为任意链接', 'style' => 'margin: 10px auto;', 'type' => 'text', ); echo zib_get_widget_show_type_input($instance, $this->get_field_name('show_type')); echo zib_edit_input_construct($page_input); ?>