Tùy chọn thư viện wordpress tùy chỉnh


7

Tôi muốn thêm tùy chọn tùy chỉnh vào tab thư viện wordpress mặc định. Tôi cần một cái gì đó đơn giản chỉ cần thả xuống để thêm kiểu được cung cấp, điều này sẽ thêm lớp được xác định trước vào thư viện ở phía máy khách và trên khung nhìn chỉnh sửa trong phần quản trị.

nhập mô tả hình ảnh ở đây

Có cách nào để làm điều này mà không cần hack mã wordpress.

Tôi đã thấy một bài đăng ở đây: Thêm tùy chọn vào phần "Cài đặt thư viện" cho biết cách thực hiện những gì tôi không làm, nhưng tôi đã thử nó và nó không hoạt động, tôi đoán đó là vì ví dụ dành cho phiên bản ~ 3.5, và tôi đang sử dụng 4.1.1 Làm thế nào tôi có thể làm điều này với phiên bản hiện tại của tôi.


lựa chọn nào bạn muốn thêm chính xác? mã đầy đủ bạn đã thử là gì?
Michael

Câu trả lời:


5

WordPress không làm cho nó rất dễ dàng để sửa đổi các khía cạnh của shortcode bộ sưu tập . Một số phân bổ:

Tùy chọn khác ngoài birgires (theo như tôi biết) là xây dựng lại khá nhiều shortcode bằng cách sao chép mã hiện có của tập tin media.php .


Một số điều cần lưu ý về additional_gallery_settings()chức năng ban đầu , từ peterbra :

  • Các tmpl-tiền tố là bắt buộc.
  • Trường của bạn nên có một data-settingthuộc tính

Chỉ cần ném mã sau vào functions.phptệp của bạn :

/**
 * 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 );

3
có vẻ như "wp.media.gallery.defaults" hiện là "wp.media.galleryDefaults"
locomo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.