File "WooCommerceProductTable.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/.wp-cli/wp-content/plugins/ajax-search-for-woocommerce/includes/Integrations/Plugins/WooCommerceProductTable/WooCommerceProductTable.php
File size: 1.96 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace DgoraWcas\Integrations\Plugins\WooCommerceProductTable;
use \DgoraWcas\Helpers;
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Integration with WooCommerce Product Table
*
* Plugin URL: https://barn2.co.uk/wordpress-plugins/woocommerce-product-table/
* Author: Barn2 Plugins
*/
class WooCommerceProductTable {
public function init() {
if ( ! defined( '\Barn2\Plugin\WC_Product_Table\PLUGIN_VERSION' ) ) {
return;
}
if ( version_compare( \Barn2\Plugin\WC_Product_Table\PLUGIN_VERSION, '2.6.2' ) < 0 ) {
return;
}
add_action( 'pre_get_posts', array( $this, 'pre_get_posts' ) );
}
/**
* Overwrite the search results in the table
*
* @param \WP_Query $query
*/
public function pre_get_posts( $query ) {
if ( ! Helpers::isProductSearchPage() ) {
return;
}
if ( ! Helpers::is_running_inside_class( 'Barn2\Plugin\WC_Product_Table\Table_Query', 10 ) && ! Helpers::is_running_inside_class( 'WC_Product_Table_Query' ) ) {
return;
}
$post_ids = apply_filters( 'dgwt/wcas/search_page/result_post_ids', array() );
if ( $post_ids ) {
// We set a variable to make our filters work for WP_Query
$query->set( 'dgwt_wcas', $query->query_vars['s'] );
$query->set( 'post__in', $post_ids );
$query->set( 'orderby', 'post__in' );
add_action( 'wp_footer', array( $this, 'add_js' ), 5 );
}
}
/**
* Reset search value in search input and hide the search box above/below the table
*/
public function add_js() {
?>
<script>
(function ($) {
$(document).ready(function () {
$('.wc-product-table').on('init.wcpt', function (e, table) {
table.$table.prev('.wc-product-table-controls').find('.dataTables_filter input').val('').trigger('keyup');
table.$table.prev('.wc-product-table-controls').find('.dataTables_filter label').hide();
table.$table.next('.wc-product-table-controls').find('.dataTables_filter label').hide();
});
});
})(jQuery);
</script>
<?php
}
}