Как скрыть некоторые пользовательские поля со страницы заказа администратора Woocommerce

#wordpress #woocommerce #custom-fields #woocommerce-theming

Вопрос:

Когда вы вошли в систему как администратор и просматриваете заказ в Woocommerce, есть раздел со всеми пользовательскими полями. Из всего списка я хочу, чтобы в нем отображались только два из них. Как мне скрыть остальное от этого взгляда? Я не хочу их удалять, но просто спрячусь от этого вида.

введите описание изображения здесь

Ответ №1:

Для каждого пользовательского поля, которое вы хотите скрыть, добавьте следующие 4 строки кода в functions.php или с помощью плагина Сниппетов:

     add_filter('is_protected_meta', 'my_is_protected_meta_filter1', 10, 2);
    function my_is_protected_meta_filter1($protected, $meta_key) {
        return $meta_key == 'automatewoo_cart_id' ? true : $protected;
    }
 

Если вы хотите скрыть более одной, добавьте строки выше еще раз и измените «my_is_protected_meta_filter1» на «my_is_protected_meta_filter2» и т. Д

Ответ №2:

если вы используете ACF pro, есть крючок, который вы можете использовать для удаления поля на задней панели, но это не то, что задокументировано..

Вы можете использовать крюк для удаления определенного поля, если функция is_admin() возвращает значение true.

Возможно, вам придется немного поиграть с этим, чтобы заставить его работать, крючок ACF-это

 acf/get_fields  
 

Так, например:

 add_filter('acf/get_fields', 'your_function_name', 20, 2);
function your_function_name($fields, $parent) {
  // remove the fields you don't want
  return $fields;
}
 

$поля могут быть вложенным массивом полей => sub_fields.

Вам нужно установить приоритет > 10> для запуска после внутреннего фильтра ACF