芝麻web文件管理V1.00
编辑当前文件:/home/sditechnicalteam/socialdigivlms.com/wp-content/plugins/tutor/classes/Course_Widget.php
* @link https://themeum.com * @since 1.3.1 */ namespace TUTOR; use Tutor\Models\CourseModel; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Course Widget Class * * @since 1.3.1 */ class Course_Widget extends \WP_Widget { /** * Constructor * * @since 1.3.1 * @return void */ public function __construct() { parent::__construct( 'tutor_course_widget', // Base ID. esc_html__( 'Tutor Course', 'tutor' ), // Name. array( 'description' => esc_html__( 'Display courses wherever widget support is available.', 'tutor' ) ) // Args. ); } /** * Front-end display of widget. * * @since 1.3.1 * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. * * @return void */ public function widget( $args, $instance ) { echo wp_kses( $args['before_widget'], array( 'section' => array( 'id' => true, 'class' => true, ), 'div' => array( 'id' => true, 'class' => true, ), ) ); if ( ! empty( $instance['title'] ) ) { echo wp_kses( $args['before_title'], array( 'h2' => array( 'class' => true ) ) ); echo esc_html( apply_filters( 'widget_title', $instance['title'] ) ); echo wp_kses( $args['after_title'], array( 'h2' => array() ) ); } $course_post_type = tutor()->course_post_type; $form_args = $instance; unset( $form_args['title'] ); $default_args = array( 'post_type' => $course_post_type, 'post_status' => 'publish', 'id' => '', 'exclude_ids' => '', 'category' => '', 'orderby' => 'ID', 'order' => 'DESC', 'count' => '6', ); $a = array_merge( $default_args, $form_args ); if ( ! empty( $a['id'] ) ) { $ids = (array) explode( ',', $a['id'] ); $a['post__in'] = $ids; } if ( ! empty( $a['exclude_ids'] ) ) { $exclude_ids = (array) explode( ',', $a['exclude_ids'] ); $a['post__not_in'] = $exclude_ids; } if ( ! empty( $a['category'] ) ) { $category = (array) explode( ',', $a['category'] ); $a['tax_query'] = array( array( 'taxonomy' => CourseModel::COURSE_CATEGORY, 'field' => 'term_id', 'terms' => $category, 'operator' => 'IN', ), ); } $a['posts_per_page'] = (int) $a['count']; wp_reset_query(); query_posts( $a ); ob_start(); tutor_load_template( 'widget.courses' ); $output = ob_get_clean(); wp_reset_query(); echo wp_kses_post( $output ); echo wp_kses( $args['after_widget'], array( 'section' => array(), 'div' => array(), ) ); } /** * Back-end widget form. * * @since 1.3.1 * @see WP_Widget::form() * * @param array $instance Previously saved values from database. * @return void */ public function form( $instance ) { $title = ! empty( $instance['title'] ) ? $instance['title'] : esc_html__( 'New title', 'tutor' ); $id = ! empty( $instance['id'] ) ? $instance['id'] : ''; $exclude_ids = ! empty( $instance['exclude_ids'] ) ? $instance['exclude_ids'] : ''; $category = ! empty( $instance['category'] ) ? $instance['category'] : ''; $orderby = ! empty( $instance['orderby'] ) ? $instance['orderby'] : ''; $order = ! empty( $instance['order'] ) ? $instance['order'] : ''; $count = ! empty( $instance['count'] ) ? $instance['count'] : '6'; ?>
:
:
:
>ID
>title
>rand
>date
>menu_order
>post__in
>DESC
>ASC