Intereting Posts
Изменение размера изображения в миниатюре, малые, средние и большие варианты greyed out функциональная quicktag Функция, которая возвращает true, когда автор является определенной ролью is_author (admin)? apply_filters с несколькими аргументами и несколькими add_filter Бутстрап dropdown Nav таблетки, не работающие с wp_nav_menu () Прикрепление изображений к нескольким галереям получать последние комментарии к определенной категории Создание промежуточной области для сайта WordPress.com Использование цикла внутри администратора $ post-> ID и the_id () всегда возвращают неправильное значение Создайте новую тему WordPress без необходимости обновления Категории отображения в результатах поиска Тема Child не отменяет раздел шаблона на живом сайте – но находится на локальном сайте wp_signon ($ creds, false); не работает Как добавить настраиваемое поле к пользовательской таксономии в 4.4

Пользовательский вариант галереи

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

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

Есть ли способ сделать это без взлома кода WordPress.

Я видел сообщение здесь: добавьте параметр в раздел «Настройки галереи», в котором показано, как делать то, что я не хочу, но я это пробовал, и он не работает, я думаю, это потому, что пример для версии ~ 3.5, и я я использую 4.1.1 Как я могу сделать это с моей текущей версией.

Solutions Collecting From Web of "Пользовательский вариант галереи"

WordPress не очень легко модифицирует аспекты короткого кода галереи . Некоторые атрибуты:

  • Спасибо пользователю peterbra за то, что он действительно собрал все это год назад .
  • Благодаря пользователю birgire для решения проблемы с добавлением атрибута значимым образом.

Другой вариант, кроме бирги (насколько я знаю), в значительной степени перестроить короткий код, скопировав существующий код, является основным файлом media.php, который является болью.


Некоторые вещи, которые следует отметить в начальной функции extra_gallery_settings additional_gallery_settings() , от peterbra :

  • tmpl- префикс tmpl- .
  • В вашем поле должен быть атрибут data-setting

Просто введите следующий код в файл functions.php :

 /** * Set up the new field in the media module. * * @return void */ function additional_gallery_settings() { ?> <script type="text/html" id="tmpl-custom-gallery-setting"> <span>Style</span> <select data-setting="style"> <option value="default-style">Default Style</option> <option value="custom-style">Custom Style</option> <option value="ie7-style">IE7 Style</option> </select> </script> <script type="text/javascript"> jQuery( document ).ready( function() { _.extend( wp.media.gallery.defaults, { style: 'default-style' } ); 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 } add_action( 'print_media_templates', 'additional_gallery_settings' ); /** * HTML Wrapper - Support for a custom class attribute in the native gallery shortcode * * @param string $html * @param array $attr * @param int $instance * * @return $html */ function customize_gallery_abit( $html, $attr, $instance ) { if( isset( $attr['style'] ) && $style = $attr['style'] ) { // Unset attribute to avoid infinite recursive loops unset( $attr['style'] ); // Our custom HTML wrapper $html = sprintf( '<div class="wpse-gallery-wrapper-%s">%s</div>', esc_attr( $style ), gallery_shortcode( $attr ) ); } return $html; } add_filter( 'post_gallery', 'customize_gallery_abit', 10, 3 );