我想知道是否有任何可以解决我的问题
我有一个运行正常的人的代码,除了大小不起作用,默认总是在“缩略图”
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');
如何将其作为默认设置始终保持较大状态?
答案 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;
}