Я уже искал решение и нашел много нерешенных или устаревших тем.
Пользовательский вариант галереи WordPress | Пользовательское поле для галереи по умолчанию
Однако я хотел бы добавить несколько пользовательских полей (флажки, кнопки цикла и т. Д.), Чтобы добавить атрибуты в ярлык галереи. У кого-нибудь есть фрагменты?
РЕДАКТИРОВАТЬ: Наконец-то я нашел этот https://wordpress.org/support/topic/how-to-add-fields-to-gallery-settings и делает все, что я хочу. :) rownn
РЕДАКТИРОВАТЬ: На основе верхней ссылки я написал следующие строки.
add_action('print_media_templates', function(){
?>
<script type="text/html" id="tmpl-custom-gallery-setting">
<h3 style="z-index: -1;">___________________________________________________________________________________________</h3>
<h3>Custom Settings</h3>
<label class="setting">
<span><?php _e('Text'); ?></span>
<input type="text" value="" data-setting="ds_text" style="float:left;">
</label>
<label class="setting">
<span><?php _e('Textarea'); ?></span>
<textarea value="" data-setting="ds_textarea" style="float:left;"></textarea>
</label>
<label class="setting">
<span><?php _e('Number'); ?></span>
<input type="number" value="" data-setting="ds_number" style="float:left;" min="1" max="9">
</label>
<label class="setting">
<span><?php _e('Select'); ?></span>
<select data-setting="ds_select">
<option value="option1"> 'Option-1' </option>
<option value="option2"> 'Option-2' </option>
</select>
</label>
<label class="setting">
<span><?php _e('Bool'); ?></span>
<input type="checkbox" data-setting="ds_bool">
</label>
</script>
<script>
jQuery(document).ready(function()
{
_.extend(wp.media.gallery.defaults, {
ds_text: 'no text',
ds_textarea: 'no more text',
ds_number: "3",
ds_select: 'option1',
ds_bool: false,
ds_text1: 'dummdideldei'
});
wp.media.view.Settings.Gallery = wp.media.view.Settings.Gallery.extend({
template: function(view){
return wp.media.template('gallery-settings')(view)
+ wp.media.template('custom-gallery-setting')(view);
}
});
});
</script>
<?php
});
UserInterface Shortcode
Вещи отлично работают рядом: поле номера не заполнено шорткодом. Я полагаю, что причина этого в том, что HTML-тег типа ввода "число" принимает только целое число для значения. Что мне нужно добавить в код, чтобы изменить строку ds_number на int?
Привет Роунн
источник
Ответы:
Спасибо за ваш код. Я исследовал эту проблему далее (это не проблема целочисленного форматирования). Единственное решение, которое я придумала для числовых полей, - это обезопасить патч от WP JS. Вот весь код с модификациями, который поддерживает любой тип ввода:
источник