szukałem już rozwiązania i znalazłem wiele nierozwiązanych lub przestarzałych tematów.
Opcja niestandardowej galerii Wordpress | Pole niestandardowe dla domyślnej galerii
Chciałbym jednak dodać pola niestandardowe (pola wyboru, przyciski cykliczne itp.), Aby dodać atrybuty do skrótu galerii. Czy ktoś ma jakieś wycinki?
EDYCJA: W końcu znalazłem to https://wordpress.org/support/topic/how-to-add-fields-to-gallery-settings i robi wszystko, co chcę. :) rownn
EDYCJA: Na podstawie górnego linku napisałem następujące wiersze.
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 Krótki kod
Everthings działa dobrze: pole liczbowe nie jest wypełniane przez shortcode. Uważam, że powodem tego jest to, że znacznik wejściowy HTML „liczba” akceptuje tylko liczbę całkowitą dla „wartości”. Co muszę dodać do kodu, aby zmienić ciąg ds_number na int?
Pozdrawiamy z góry
źródło
Odpowiedzi:
Dziękuję za Twój kod. Dokładnie zbadałem ten problem (nie jest to problem z formatowaniem liczb całkowitych). Jedynym rozwiązaniem, jakie wymyśliłem dla pól liczbowych, jest załatanie większej ilości WP JS. Oto cały kod z modyfikacjami, które obsługują dowolny typ danych wejściowych:
źródło