Мені цікаво, чи існує спосіб змінити за замовчуванням метаполе Wordpressses, наприклад, "представлене зображення" для користувацьких типів публікацій без необхідності перетягувати їх вручну?
Приклад:
Мені цікаво, чи існує спосіб змінити за замовчуванням метаполе Wordpressses, наприклад, "представлене зображення" для користувацьких типів публікацій без необхідності перетягувати їх вручну?
Приклад:
Відповіді:
Ви можете видалити мета-поля за замовчуванням за допомогою 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
в цьому прикладі на будь-який назва вашого спеціального допису
add_meta_box()
потрібна $callback
назва функції, як я знаю ім'я функції, яку використовує WordPress? Припустимо, якщо я хочу зробити те ж саме для бічної панелі meta_box 'Категорії' (#categorydiv)?
/wp-admin/edit-form-advanced.php
і ви побачите, куди WordPress додає всі основні мета-поля та зворотні виклики та аргументи, які він використовує. для категорій це post_categories_meta_box
.
Я теж боровся з цим. Я не знайшов чистого способу переглядати макет / порядок - тим більше, що користувачі можуть його змінити, коли / якщо вони перетягують поля.
Мені подобається робити "з" wordpress (зазвичай це окупається), ніж бій, ніж зіткнення, і як Wordpress це робить так:
Wordpress зберігає перетягнуті позиції на кожного користувача на екрані, і існує ціла купа мета-клавіш користувача, які він використовує, залежно від того, на якій сторінці / екрані він знаходиться.
Таким чином, ви можете додати дію або фільтр для кожного нового користувача, щоб встановити налаштування користувача таким, яким ви хочете бути за замовчуванням.
1) Перетягніть і впорядкуйте сторінку, на яку ви хочете вплинути, а потім 2) подивіться в phpmyadmin на ваш user-meta для вашого ідентифікатора і подивіться, що wp там зберігається. 3) потім кодуйте нову дію користувача наступним чином, якщо користувач НЕ встановив це налаштування (щоб уникнути перезапису особистого вибору), ви можете встановити його так, як вам потрібно - зі значенням, яке ви знайшли, встановивши його вручну.
Щоб отримати уявлення про мета-ключі користувача, які ви шукаєте, перегляньте ці скріншоти: http://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/
(Я закінчив писати загальний плагін, щоб я міг як адміністратор визначити мій бажаний макет для всіх користувачів для всіх типів сторінок / екранів. Потім вони могли це змінити, наприклад, коли вони стали більш досвідченими. Також він не зламається, коли зміни WP речі, як я плагін, просто отримують значення шаблону користувача, він навіть не намагається встановити значення на жорсткому коді.)
Якщо ви хочете замовити саме ваші метабокси, ви можете скористатися цим плагіном: https://wordpress.org/plugins/post-meta-box-order/
Він відтворюється на мета-вікні-order_post користувальницької опції (таблиця wp_usermeta).
Примітка 1: цю техніку можна застосувати до будь-якого користувацького CPT, змінивши кінець прапора: meta-box-order_ [YOUR_CPT]
Примітка 2: не забудьте змінити хеш у коді плагіна, щоб застосувати ваше нове замовлення до всіх існуючих користувачів.