Прежде всего, плагин, который вы пытаетесь использовать, устарел. Во-вторых, создается впечатление, что создается таблица для хранения представлений, и для этого потребуется изменить фактический запрос MySQL для получения записей, упорядоченных по дате, что требует много работы для поиска того, что вам нужно сделать.
Вы можете просто сохранить просмотры при посещении, чтобы опубликовать мета, и использовать их для заказа товаров в каталоге следующим образом:
/**
* Setting post count on each visit
*
*/
add_action( 'woocommerce_before_single_product', 'prefix_save_product_views' );
function prefix_save_product_views( ) {
$product_id = get_the_ID();
$increment = 1;
$current_visit_count = get_post_meta( $product_id, 'product_visit_count', true );
$total_visit_count = (int)$current_visit_count + $increment;
update_post_meta( $product_id, 'product_visit_count', $total_visit_count );
}
/**
* Change the display order based on visit count only in Catalog
*
*/
add_filter('woocommerce_get_catalog_ordering_args', 'prefix_woocommerce_catalog_orderby');
function prefix_woocommerce_catalog_orderby( $args ) {
$args['meta_key'] = 'product_visit_count';
$args['orderby'] = 'meta_value_num';
$args['order'] = 'desc';
return $args;
}
Вы столкнулись бы с несколькими проблемами, используя pre_get_posts