Вопрос или проблема
Я пытаюсь скрыть некоторые опции на панели управления.
Я делаю это для экрана продуктов.
Вот скриншот
Вот код, который я пытался использовать, чтобы скрыть SKU
/** Скрыть виджет панели управления по умолчанию через параметры экрана */
add_filter( 'default_hidden_meta_boxes', 'wpfa_default_screen_option' );
function wpfa_default_screen_option( $hidden ) {
/** Добавить ID метабокса WP First Aid в массив скрытых опций экрана по умолчанию */
$hidden[] = 'sku-hide';
return $hidden;
}
Хотя это не сработало.
Мне нужно скрыть эти три элемента на скриншоте.
Любая помощь будет оценена.
Лучший вариант – использовать CSS для скрытия этих столбцов и полей.
Добавьте это в файл admin.css, чтобы скрыть столбец SKU
table.wp-list-table .column-sku {
width: 10%
}
Чтобы скрыть опции в параметрах экрана, добавьте следующий CSS в admin.css
.metabox-prefs label:nth-child(2), .metabox-prefs label:nth-child(11), .metabox-prefs label:nth-child(12) {
display: none;
}
Для справки, дважды проверьте мой CSS nth-child, так как он может быть не совсем точным. Поэкспериментируйте с вашим файлом admin.css, проверяя элемент в бэкенде wp-admin.
Лучший способ скрыть столбцы на странице администрирования WordPress – использовать хук hidden_columns
.
Пример:
add_filter( 'hidden_columns', 'hide_meta_box', 10, 2 );
function hide_meta_box($hidden, $screen) {
if ( $screen->post_type == 'your_post_type' ) {
$hidden[] ='your_column_to_hidden';
}
return $hidden;
}
Этот код скроет столбец your_column_to_hidden
, но пользователь сможет его отобразить.
Ответ или решение
Чтобы скрыть определенные столбцы и опции на экране продукта в админ-панели WordPress, вы можете воспользоваться несколькими методами. Давайте рассмотрим все возможные решения для выполнения вашей задачи.
1. Скрытие столбцов с помощью фильтров
Чтобы скрыть некоторый столбец на странице с продуктами в админке, используйте фильтр hidden_columns
. Вот пример кода, который поможет вам скрыть нужный столбец (например, SKU):
add_filter('hidden_columns', 'hide_columns_on_product_screen', 10, 2);
function hide_columns_on_product_screen($hidden, $screen) {
if ('edit-product' === $screen->id) { // Убедитесь, что мы находимся на экране редактирования продуктов
$hidden[] = 'sku'; // Замените 'sku' на нужный вам идентификатор столбца
}
return $hidden;
}
Вы можете добавить этот код в файл functions.php
вашей темы или в кастомный плагин.
2. Скрытие метабоксов
Если вы хотите скрыть метабоксы на экране редактирования, можно использовать фильтр default_hidden_meta_boxes
. Например:
add_filter('default_hidden_meta_boxes', 'hide_meta_boxes_on_product_screen');
function hide_meta_boxes_on_product_screen($hidden) {
if ('edit-product' === get_current_screen()->id) {
$hidden[] = 'sku-hide'; // Замените 'sku-hide' на ID метабокса, который нужно скрыть
}
return $hidden;
}
3. Скрытие элементов с помощью CSS
Если вам нужно скрыть элементы, которые не поддерживаются фильтрами, вы также можете использовать CSS. Добавьте следующий код в файл admin.css
(это может быть файл стилей вашей админ-темы или кастомный файл стилей):
/* Скрыть столбец SKU */
table.wp-list-table .column-sku {
display: none; /* Убедитесь, что свойство display установлено на none */
}
/* Скрыть опции в 'Screen Options' */
.metabox-prefs label:nth-child(2),
.metabox-prefs label:nth-child(11),
.metabox-prefs label:nth-child(12) {
display: none; /* Скройте нужные метабоксы */
}
Учтите, что значения nth-child()
могут отличаться в зависимости от структуры HTML, поэтому рекомендуется проверить и подкорректировать их с помощью инструментов разработчика в браузере.
Заключение
С помощью приведенных выше методов вы сможете скрыть ненужные элементы на странице продуктов в админ-панели WordPress. Рекомендуем протестировать каждый метод отдельно, чтобы убедиться, что он работает в вашей конкретной конфигурации. Если потребуется дополнительная помощь, не стесняйтесь задавать вопросы!