我想知道是否有人可以帮助解决我的问题
我从某人那里得到了这段代码,运行良好,只是尺寸不起作用,默认值始终为“缩略图”
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');
如何使其始终默认为大?
这段代码实际上是有效的,如果没有手动选择其他尺寸,图库的尺寸将默认为“大”。真正的问题来自下拉列表本身,它在初始化时没有正确设置,仍然在 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');
为什么要使用别人的自定义代码?已经有一个带有尺寸选项的图库简码:
https://codex.wordpress.org/Gallery_Shortcode
只需用
[gallery size="thumbnail"]
来调用即可。
实际上,其他答案中的其他代码替换了现有画廊的默认设置。以下是将默认设置仅应用于新图库的代码:
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;
}