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

<p>мне интересно, есть ли способ изменить положение мета-блоков wordpresses по умолчанию, таких как "избранные изображения" для пользовательских типов записей, не перетаскивая их вручную?</p><p><strong> пример: </strong> <img src="https://i.stack.imgur.com/sxwoo.jpg" alt="meta box positioning example"></p>

<p>вы можете удалить мета-блоки по умолчанию с помощью remove\_meta\_box и повторно добавить их в другую позицию с помощью add\_meta\_box:</p><pre><code>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'); } </code></pre><p>это удалит его из бокового столбца и добавит его в основной столбец. замените <code>post</code> в этом примере на любой другой тип вашего поста.</p>

<p>я тоже боролся с этим. я действительно не нашел чистого способа переопределить макет/порядок - особенно потому, что пользователи могут изменить его, когда/если они перетаскивают поля.</p><p>мне нравится делать вещи "с" wordpress (это обычно окупается), чем сталкиваются с этим и как wordpress делает это следующим образом:</p><p>wordpress сохраняет перетаскиваемые позиции для каждого пользователя на экране, и есть целый набор пользовательских мета-ключей, которые он использует в зависимости от того, на какой странице/экране он находится.</p><p>таким образом, вы можете добавить действие или фильтр для каждого нового пользователя, чтобы установить настройки пользователя так, как вы хотите, чтобы по умолчанию.<br> 1) перетащите и упорядочите страницу, на которую вы хотите повлиять, затем 2) посмотрите в phpmyadmin вашу мета пользователя для своего идентификатора и посмотрите, что там хранится в wp. 3) затем закодируйте новое действие пользователя следующим образом, если у пользователя не установлена эта настройка (чтобы не перезаписывать личный выбор), вы можете установить ее так, как хотите - со значением, которое вы нашли при ручной настройке.</p><p>чтобы получить представление о мета-ключах мета-пользователя, которые вы ищете, посмотрите на эти снимки экрана: <a href="http://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/">http://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/</a> </p><p>(в итоге я написал общий плагин, чтобы администратор мог определить предпочтительный макет для всех пользователей для всех видов страниц/экранов. затем они могли изменить это, например, по мере того, как стали более опытными. также он не сломается при изменении wp плагин вещей как я просто выбирает пользовательские значения шаблона, он даже не пытается установить значение в жестко заданное значение.)</p>

<p>если вы хотите заказать именно ваши мета-блоки, вы можете использовать этот плагин: <a href="https://wordpress.org/plugins/post-meta-box-order/">https://wordpress.org/plugins/post-meta-box-order/</a> </p><p>он играет на мета-поле-порядок\_пост пользовательской опции (таблица wp\_usermeta).</p><p>примечание 1: этот метод можно применить к любому пользовательскому cpt, изменив конец флага: meta-box-order\_ [your\_cpt]</p><p>примечание 2: не забудьте изменить хэш в коде плагина, чтобы применить ваш новый порядок ко всем существующим пользователям.</p>