Создайте больше метабоксов по мере необходимости

Я хочу, чтобы пользователи могли создавать и удалять дополнительные поля метаданных по мере необходимости.

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

В идеале это будет сделано без использования плагина, но закодировано в файле функций.

44 голоса | спросил Picard102 13 J0000006Europe/Moscow 2011, 03:22:28

2 ответа


52

Значит, вы имеете в виду что-то вроде этого?

введите описание изображения здесь

, и когда вы нажимаете «Добавить треки», он становится следующим:

введите описание изображения здесь>> </p>

<p>, если это то, что вы имеете в виду, сделав это, создав метабокс, который имеет простую функцию jquery для добавления и удаления полей в нем, и данные сохраняются как массив данных в одной мета-строке, здесь вы идете: </p>

<pre><code>add_action ('add_meta_boxes', 'dynamic_add_custom_box');

/* Сделайте что-то с введенными данными * /
add_action ('save_post', 'dynamic_save_postdata');

/* Добавляет поле в главный столбец на экранах Post and Page edit * /
function dynamic_add_custom_box () {
    add_meta_box (
        'Dynamic_sectionid',
        __ ('Мои дорожки', 'myplugin_textdomain'),
        'Dynamic_inner_custom_box',
        'после');
}

/* Распечатывает содержимое коробки * /
function dynamic_inner_custom_box () {
    глобальные $ post;
    //Использовать nonce для проверки
    wp_nonce_field (plugin_basename (__FILE__), 'dynamicMeta_noncename');
    ? >
    <div id =

ответил Bainternet 13 J0000006Europe/Moscow 2011, 11:41:06
3

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

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

Некоторые предложения:

http://wordpress.org/extend/plugins/verve-meta-boxes /

http://wordpress.org/extend/plugins/more-fields/

ответил Elpie 13 J0000006Europe/Moscow 2011, 04:20:18

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132