Intereting Posts
Как сделать мой код плагина умело Загрузка аватара из интерфейса Отправлять электронную почту администратору, когда пользователь / член обновляет определенные данные пользователя / члена Классическая загадка: как мне отобразить поддомен в WordPress? Выберите конкретную запись для отображения в окне новостей. Рекомендации по использованию нескольких пользовательских каналов Есть ли функция для отображения всех загруженных изображений? Как добавить его? Изменить, где ссылки на навигационную панель? Qtranslate отображает пустые категории с get_categories () Каков наилучший способ обработки настраиваемых полей в разных форматах сообщений? Отображение информации на боковой панели Если изображение не установлено, отображается default.png из ядра Определить страницу Woocommerce с помощью условных тегов WordPress ngnix Url rewrite не работает Проблема с wp_insert_post

Woocommerce: как переопределить основные функции в functions.php?

Есть ли способ переопределить основные функции woocommerce в functions.php?

например, расположение файла в: wp-content / plugins / woocommerce / includes / class-wc-order-item-shipping.php

существует следующая общественная функция

public function set_method_title( $value ) { $this->set_prop( 'name', wc_clean($value) ); $this->set_prop( 'method_title', wc_clean($value) ); } 

Как изменить это на это:

 public function set_method_title( $value ) { $this->set_prop( 'name', $value ); $this->set_prop( 'method_title', $value ); } 

Solutions Collecting From Web of "Woocommerce: как переопределить основные функции в functions.php?"

Вы не можете заменить какую-либо функцию плагина на свой собственный код, если :

  1. Плагин завернут в function_exists() . Это делает функцию подключаемой , что означает, что если вы сначала определите ее, плагин не будет пытаться определить ее снова, и ваш будет использоваться. Эта функция не подключается.
  2. Там где-то есть фильтр, обозначенный использованием функции apply_filters() , которая позволяет вам заменить значение. Это значение может быть результатом функции, и с помощью фильтра вы можете заменить вывод своим собственным.

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

Удаление этих функций очень плохое. Он готовит данные для входа в базу данных. Эти записи принимают только простой текст, поэтому функция wc_clean запускает функцию sanitize_text_field WordPress. Согласно документации WordPress , эта функция:

  • Проверяет наличие недопустимого UTF-8
  • Преобразует одиночные <символы в объекты
  • Снимает все метки Удаляет разрывы строк, вкладки и дополнительные пробелы
  • Полосы октетов

Даже если вы можете удалить их, они могут неправильно сохраняться в базе данных. Он также откроет вас для возможных атак, потому что это позволит ввести потенциально опасный код. Перед сохранением данных необходимо всегда очищать данные, а данные должны соответствовать настройкам столбца таблицы, чтобы избежать отсечения.