Публикация позиции метабокса?

Вопрос или проблема

В моем пользовательском типе записи при просмотре сайта на мобильном устройстве метабокс “Опубликовать” оказывается выше других метабоксов. Я изменил позицию и приоритет почти всех метабоксов, чтобы решить эту проблему. Но есть один метабокс, который я не могу переместить с помощью приоритета и контекста, используя: https://developer.wordpress.org/reference/functions/add_meta_box/

Возможно ли переместить метабокс “Опубликовать” так, чтобы он всегда находился внизу при просмотре на мобильном?

Это стандартные позиции, которые я хочу изменить.

Вы могли бы попробовать удалить метабокс 'submitdiv' и добавить его заново с низким приоритетом следующим образом:

function benny_default_position_publish_box() {

    remove_meta_box( 'submitdiv', 'post', 'side' );
    remove_meta_box( 'submitdiv', 'page', 'side' );
    //remove_meta_box( 'submitdiv', 'cpt', 'side' );

    add_meta_box( 'submitdiv', __( 'Опубликовать' ), 'post_submit_meta_box', 'post', 'side', 'low' );
    add_meta_box( 'submitdiv', __( 'Опубликовать' ), 'post_submit_meta_box', 'page', 'side', 'low' );
    //add_meta_box( 'submitdiv', __( 'Опубликовать' ), 'post_submit_meta_box', 'cpt', 'side', 'low' );

}
add_action( 'do_meta_boxes', 'benny_default_position_publish_box' );

Но если это не сработает и вам нужно это только для мобильных устройств, вы можете попробовать установить пользовательские параметры сортировки метабоксов следующим образом:

function benny_user_option_box_position( $order ) {

  if ( wp_is_mobile() ) {

    return array(
        'normal'   => join( ",", array(
            'postexcerpt',
            'formatdiv',
            'trackbacksdiv',
            'tagsdiv-post_tag',
            'categorydiv',
            'postimagediv',
            'postcustom',
            'commentstatusdiv',
            'slugdiv',
            'authordiv',
            'submitdiv',   // <- оставьте последним
        ) ),
        'side'     => '',
        'advanced' => '',
    );

  } else {

    return $order;

  }
}
add_filter( 'get_user_option_meta-box-order_post', 'benny_user_option_box_position' );
add_filter( 'get_user_option_meta-box-order_page', 'benny_user_option_box_position' );
//add_filter( 'get_user_option_meta-box-order_cpt', 'benny_user_option_box_position' );

Я этого не тестировал, но теоретически это должно сработать

Ответ или решение

Как переместить метабокс "Опубликовать" в WordPress для мобильных устройств

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

Шаг 1: Удаление и повторное добавление метабокса "Опубликовать"

Одним из возможных решений является удаление метабокса "Опубликовать", а затем его повторное добавление с использованием низкого приоритета. Это позволит вам изменить порядок отображения метабоксов. Пример кода:

function benny_default_position_publish_box() {
    remove_meta_box('submitdiv', 'post', 'side');
    remove_meta_box('submitdiv', 'page', 'side');

    add_meta_box('submitdiv', __('Опубликовать'), 'post_submit_meta_box', 'post', 'side', 'low');
    add_meta_box('submitdiv', __('Опубликовать'), 'post_submit_meta_box', 'page', 'side', 'low');
}
add_action('do_meta_boxes', 'benny_default_position_publish_box');

В данном коде мы удаляем стандартный метабокс "Опубликовать" и добавляем его снова, задав ему низкий приоритет, что должно помочь переместить его вниз.

Шаг 2: Настройка пользовательских опций для мобильных устройств

Если вы хотите, чтобы метабокс "Опубликовать" всегда находился внизу только на мобильных устройствах, вы можете использовать следующую функцию, которая изменяет порядок метабоксов для мобильных пользователей:

function benny_user_option_box_position($order) {
    if (wp_is_mobile()) {
        return array(
            'normal' => join(",", array(
                'postexcerpt',
                'formatdiv',
                'trackbacksdiv',
                'tagsdiv-post_tag',
                'categorydiv',
                'postimagediv',
                'postcustom',
                'commentstatusdiv',
                'slugdiv',
                'authordiv',
                'submitdiv', // Позиция "Опубликовать" внизу
            )),
            'side' => '',
            'advanced' => '',
        );
    } else {
        return $order;
    }
}
add_filter('get_user_option_meta-box-order_post', 'benny_user_option_box_position');
add_filter('get_user_option_meta-box-order_page', 'benny_user_option_box_position');
// add_filter('get_user_option_meta-box-order_cpt', 'benny_user_option_box_position');

В этом коде мы проверяем, является ли устройство мобильным, и если это так, устанавливаем порядок метабоксов, помещая метабокс "Опубликовать" в конец списка.

Заключение

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

Следуя этим рекомендациям, вы сможете решить проблему с метабоксом "Опубликовать" и адаптировать интерфейс вашего сайта под нужды пользователей.

Оцените материал
Добавить комментарий

Капча загружается...