Фрилансеры предложат решение вашей задачи уже через несколько минут!
Публикация заказа не займет много времени.
5 дней назад
Артур
27 лет, Молдова
5 лет в сервисе
Был онлайн 1 день назад
23 отзыва
5 дней назад

Есть плагин Woocommerce, который выводит счетчик для товаров, у которых запланирована акция до определнной даты. 
Но если включать этот плагин, то сайт загружается в 4 раза дольше.

методом исключения нашли, что именно при удалении этого участка кода из плагина, сайт начинает работать быстро.

public function themeprefix_custom_price_message( $price ) { 
global $post;
$product_id = $post->ID;
$sale_ids = $this->db_sales_load();
if ( !empty($sale_ids) ){
if ( in_array( $product_id, $sale_ids ) && !is_admin() ) {
$textafter = $this->view_cd( $product_id );
return $price . '<span class="sale-timer">' . $textafter . '</span>';
} else { 
return $price;
}
}
}

Вот фукнция db_sales_load

    * Load Database
* @param none
* @return array $sale_ids
* @since 1.00
*/
private function db_sales_load() {
global $wpdb;
$sales = $wpdb->get_results("
SELECT post_id, meta_key, meta_value
FROM $wpdb->postmeta
WHERE meta_key LIKE '%%_sale_price%%'
");
$sale_ids = array();
foreach ( $sales as $sale ){
if ( $sale->meta_key === '_sale_price' ) {
if ( !empty( $sale->meta_value ) ) {
$sale_ids[] = $sale->post_id;
}
}
}
return $sale_ids;
}