Переопределите глобальный шаблон WooCommerce количеству-input.php для лучшего ввода количества на мобильном - PullRequest
1 голос
/ 07 марта 2019

Я хочу, чтобы WooCommerce лучше обрабатывал ввод количества в поле при использовании мобильных устройств.Вместо того чтобы показывать пользователю полную клавиатуру для ввода поля количества, я хочу, чтобы мобильный браузер отображал вместо этого цифровую клавиатуру.

Я могу добиться этого, изменив количеству input-php с

pattern="<?php echo esc_attr( $pattern ); ?>"
inputmode="<?php echo esc_attr( $inputmode ); ?>"
*От 1005 * до
pattern="[0-9]*"
inputmode="numeric"

в

wp-content/plugins/woocommerce/templates/global/quantity-input.php

Но очевидно, что непосредственное изменение php-файлов WooCommerce - ужасная идея, поэтому мне нужны некоторые рекомендации относительно наилучшей практики такой модификации.

Я использовал плагин под названием Фрагмент кода в Wordpress, и он хорошо работает.Как я могу добавить код на свой сайт, используя это?

Я нашел сообщение, в котором упоминаются файлы шаблонов, переопределяющие в WooCommerce с использованием фильтра здесь , но я не знаком с этим, так как яновичок в Wordpress / WooCommerce

Кажется, стоит пойти по пути использования фильтра wc_get_template_part и / или woocommerce_locate_template, но я не знаю, как это сделать.

Любые предложения приветствуются.

1 Ответ

0 голосов
/ 07 марта 2019

Вы можете просто использовать woocommerce_quantity_input_args специальный фильтр-крючок, например:

add_filter( 'woocommerce_quantity_input_args', 'filter_quantity_input_args_callback', 10, 2 );
function filter_quantity_input_args_callback( $args, $product ) {
    $args['pattern']   = '[0-9]*';
    $args['inputmode'] = 'numeric';

    return $args;
}

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


Или вместо этого вместо двух фильтров фильтр (это будет иметь тот же эффект) :

add_filter( 'woocommerce_quantity_input_pattern', 'filter_quantity_input_pattern_callback', 10, 1 );
function filter_quantity_input_pattern_callback( $input_pattern ) {
    return '[0-9]*';
}

add_filter( 'woocommerce_quantity_input_inputmode', 'filter_quantity_input_inputmode_callback', 10, 1 );
function filter_quantity_input_inputmode_callback( $inputmode ) {
    return 'numeric';
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...