Изменить количество отображаемых событий точек в Woocommerce & quot; Баллы & amp; Награды & Quot; плагин

Я пользуюсь «Очками WooCommerce» & Плагин «Награды» для добавления очков клиентам.
Клиент может просмотреть историю своих баллов в своем аккаунте.
На данный момент на странице учетной записи пользователя отображается только 5 событий.

Я нашел функцию в плагине:

function woocommerce_points_rewards_my_points() {
global $wc_points_rewards;

$points_balance = WC_Points_Rewards_Manager::get_users_points( get_current_user_id() );
$points_label   = $wc_points_rewards->get_points_label( $points_balance );

$count = apply_filters( 'wc_points_rewards_my_account_points_events', 5, get_current_user_id() );

// get a set of points events, ordered newest to oldest
$args = array(
'orderby' => array(
'field' => 'date',
'order' => 'DESC',
),
'per_page' => $count,
'paged'    => 0,
'user'     => get_current_user_id(),
);

$events = WC_Points_Rewards_Points_Log::get_points_log_entries( $args );

// load the template
wc_get_template(
'myaccount/my-points.php',
array(
'points_balance' => $points_balance,
'points_label'   => $points_label,
'events'         => $events,
),
'',
$wc_points_rewards->get_plugin_path() . '/templates/'
);
}

Есть ли способ переопределить количество событий с помощью собственной функции?

2

Решение

Как вы можете видеть, вы можете использовать wc_points_rewards_my_account_points_events фильтр хук, чтобы изменить количество отображаемых точек событий, таким образом:

add_filter( 'wc_points_rewards_my_account_points_events', 'filter_wcpr_my_account_points_events', 10, 2 );
function filter_wcpr_my_account_points_events( $events, $user_id ) {
return 20; // Change to 20 instead of 5
}

Или даже короче в одну строку:

add_filter( 'wc_points_rewards_my_account_points_events', function( $events, $user_id ){ return 20; }, 10, 2 );

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]