| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.9/wp-content/themes/woodmart/inc/widgets/ |
Upload File : |
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
/**
* Widget sort by.
*
* @package woodmart
*/
if ( ! defined( 'WOODMART_THEME_DIR' ) ) {
exit( 'No direct script access allowed' );
}
/**
* Register sort by widget.
*/
class WOODMART_Widget_Sorting extends WPH_Widget {
/**
* Constructor.
*/
public function __construct() {
if ( ! woodmart_woocommerce_installed() || ! function_exists( 'wc_get_attribute_taxonomies' ) ) {
return;
}
$args = array(
'label' => esc_html__( 'WOODMART WooCommerce Sort by', 'woodmart' ),
'description' => esc_html__( 'Sort products by name, price, popularity etc.', 'woodmart' ),
'slug' => 'woodmart-woocommerce-sort-by',
);
$args['fields'] = array(
array(
'id' => 'title',
'type' => 'text',
'std' => esc_html__( 'Sort by', 'woodmart' ),
'name' => esc_html__( 'Title', 'woodmart' ),
),
);
$this->create_widget( $args );
}
/**
* Render widget.
*
* @param array $args Widget arguments.
* @param array $instance Widget instance.
*/
public function widget( $args, $instance ) {
if ( ! $this->is_widget_preview() && ! woocommerce_products_will_display() ) {
return;
}
$orderby = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) ); // phpcs:ignore WordPress.Security
$show_default_orderby = 'menu_order' === apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
$catalog_orderby_options = apply_filters(
'woocommerce_catalog_orderby',
array(
'menu_order' => esc_html__( 'Default', 'woodmart' ),
'popularity' => esc_html__( 'Popularity', 'woodmart' ),
'rating' => esc_html__( 'Average rating', 'woodmart' ),
'date' => esc_html__( 'Newness', 'woodmart' ),
'price' => esc_html__( 'Price: low to high', 'woodmart' ),
'price-desc' => esc_html__( 'Price: high to low', 'woodmart' ),
)
);
if ( ! $show_default_orderby ) {
unset( $catalog_orderby_options['menu_order'] );
}
if ( get_option( 'woocommerce_enable_review_rating' ) === 'no' ) {
unset( $catalog_orderby_options['rating'] );
}
echo wp_kses_post( $args['before_widget'] );
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance );
if ( $title ) {
echo wp_kses_post( $args['before_title'] ) . $title . wp_kses_post( $args['after_title'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
wc_get_template(
'loop/orderby.php',
array(
'catalog_orderby_options' => $catalog_orderby_options,
'orderby' => $orderby,
'show_default_orderby' => $show_default_orderby,
'list' => true,
)
);
echo wp_kses_post( $args['after_widget'] );
}
/**
* Form.
*
* @param array $instance Instance.
*/
public function form( $instance ) { // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod
parent::form( $instance );
}
}