更改wordpress图库大小默认值

时间:2015-07-13 08:14:18

标签: wordpress

我想知道是否有任何可以解决我的问题

我有一个运行正常的人的代码,除了大小不起作用,默认总是在“缩略图”

function my_gallery_default_type_set_link( $settings ) {
    $settings['galleryDefaults']['link'] = 'file';
    $settings['galleryDefaults']['columns'] = '4';
    $settings['galleryDefaults']['size'] = 'large';
    return $settings;
}
add_filter( 'media_view_settings', 'my_gallery_default_type_set_link');

如何将其作为默认设置始终保持较大状态?

3 个答案:

答案 0 :(得分:0)

为什么使用其他人的自定义代码?已经有一个带有大小选项的Gallery短代码:

https://codex.wordpress.org/Gallery_Shortcode

只需使用[gallery size="thumbnail"]调用它。

答案 1 :(得分:0)

这段代码实际上是有效的,画廊的大小将是"大"默认情况下,如果未手动选择其他大小。真正的问题来自于在初始化时没有正确设置的下拉列表,仍然在WP 4.8.2中。

有一个ticket打开,其中包含有关此显示错误的详细信息。

与此同时,我找到了一个使用print_media_templates挂钩的解决方法:

第1步 - 定义图库默认图像大小

function my_gallery_default_settings( $settings ) {
    $settings['galleryDefaults']['size'] = 'large';
    return $settings;
}
add_filter( 'media_view_settings', 'my_gallery_default_settings');

步骤2 - 调试下拉图像大小默认值

function debug_gallery_image_size_default_value() {
  ?>

  <script>
    jQuery(document).ready(function(){
      wp.media.view.Settings.Gallery = wp.media.view.Settings.Gallery.extend({
        template: function(view){
          var base_view = wp.media.template('gallery-settings')(view);
          var size_option_search = '<option value="'+wp.media.gallery.defaults.size+'">';
          var size_option_replace = '<option value="'+wp.media.gallery.defaults.size+'" selected="selected">';
          base_view = base_view.replace(size_option_search, size_option_replace);
          return base_view;
        }
      });
    });
  </script>

  <?php
}
add_action('print_media_templates', 'debug_gallery_image_size_default_value');

答案 2 :(得分:0)

实际上,其他答案中的其他代码会替换现有图库的默认设置。以下是仅将默认设置应用于新图库的代码:

add_filter( 'media_view_settings', 'theme_gallery_defaults', 10, 2 );

function theme_gallery_defaults( $settings, $post ) {
    $defaults = ! empty( $settings['galleryDefaults'] ) && is_array( $settings['galleryDefaults'] ) ? $settings['galleryDefaults'] : array();
    $settings['galleryDefaults'] = array_merge( $defaults, array(
        'columns'   => 5,
        'size'      => 'large',
        'link'      => 'file'
    ) );
    return $settings;
}