it-swarm.com.ru

Как изменить положение по умолчанию WP мета-боксы?

Мне интересно, есть ли способ изменить положение мета-блоков Wordpresses по умолчанию, таких как "избранные изображения" для пользовательских типов записей, не перетаскивая их вручную?

Пример:  Meta Box Positioning Example

16
Mr.Brown

Вы можете удалить мета-блоки по умолчанию с помощью remove_meta_box и повторно добавить их в другую позицию с помощью add_meta_box:

add_action('do_meta_boxes', 'wpse33063_move_meta_box');

function wpse33063_move_meta_box(){
    remove_meta_box( 'postimagediv', 'post', 'side' );
    add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}

Это удалит его из бокового столбца и добавит его в основной столбец. замените post в этом примере на любой другой тип вашего поста.

20
Milo

Я тоже боролся с этим. Я действительно не нашел чистого способа переопределить макет/порядок - особенно потому, что пользователи могут изменить его, когда/если они перетаскивают поля.

Мне нравится делать вещи "с" WordPress (это обычно окупается), чем сталкиваются с этим и как WordPress делает это следующим образом:

wordPress сохраняет перетаскиваемые позиции для каждого пользователя на экране, и есть целый набор пользовательских мета-ключей, которые он использует в зависимости от того, на какой странице/экране он находится.

Таким образом, вы можете добавить действие или фильтр для каждого нового пользователя, чтобы установить настройки пользователя так, как вы хотите, чтобы по умолчанию.
1) Перетащите и упорядочите страницу, на которую вы хотите повлиять, затем 2) посмотрите в phpmyadmin вашу мета пользователя для своего идентификатора и посмотрите, что там хранится в wp. 3) затем закодируйте новое действие пользователя следующим образом, если у пользователя НЕ установлена ​​эта настройка (чтобы не перезаписывать личный выбор), вы можете установить ее так, как хотите - со значением, которое вы нашли при ручной настройке.

Чтобы получить представление о мета-ключах мета-пользователя, которые вы ищете, посмотрите на эти снимки экрана: http://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/

(В итоге я написал общий плагин, чтобы администратор мог определить предпочтительный макет для всех пользователей для всех видов страниц/экранов. Затем они могли изменить это, например, по мере того, как стали более опытными. Также он не сломается при изменении wp Плагин вещей как я просто выбирает пользовательские значения шаблона, он даже не пытается установить значение в жестко заданное значение.)

5
anmari

Если вы хотите заказать именно ваши мета-блоки, вы можете использовать этот плагин: https://wordpress.org/plugins/post-meta-box-order/

Он играет на мета-поле-порядок_пост пользовательской опции (таблица wp_usermeta).

Примечание 1: этот метод можно применить к любому пользовательскому CPT, изменив конец флага: meta-box-order_ [YOUR_CPT]

Примечание 2: не забудьте изменить хэш в коде плагина, чтобы применить ваш новый порядок ко всем существующим пользователям.

0
rebe100x