我有一个主题,它使用 add_image_size 来定义几个自定义图像尺寸。当将图像插入帖子中时,这 5 种图像尺寸过去会显示在 Wordpress 3.4 媒体管理器中,但它们不再显示在新的 Wordpress 3.5 媒体管理器中。事实上,当我尝试“添加媒体”到帖子时,我得到的唯一图像尺寸选项是缩略图(100x100)和全尺寸(3260x988)。显然,我的主题设置不会覆盖“设置>>媒体”中的默认媒体设置。这是我的functions.php 文件中的代码:
function custom_theme_support() {
add_theme_support('post-thumbnails');
set_post_thumbnail_size(180, 120, true);
add_image_size( 'hero-desktop-2x', 3200, 800, true);
add_image_size( 'hero-desktop', 1600, 400, true);
add_image_size( 'hero-mobile-2x', 1534, 800, true);
add_image_size( 'hero-mobile', 767, 400, true);
}
add_action('after_setup_theme','custom_theme_support');
所以,我的问题是我需要做什么才能让我的主题覆盖 WordPress 3.5 中的 WordPress 管理员设置?
我使用了以下代码,它似乎有效。
注意:您必须重新生成所有缩略图,此尺寸才能追溯显示在现有图像上:
function setup_image_sizes() {
if( function_exists('add_theme_support') ) {
add_theme_support('post-thumbnails');
}
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'custom-image', 576, 320, true );
}
function my_image_sizes($sizes){
$custom_sizes = array(
'custom-image' => 'Custom Image'
);
return array_merge( $sizes, $custom_sizes );
}
add_filter('image_size_names_choose', 'my_image_sizes');
}
add_action( 'after_setup_theme', 'setup_image_sizes' );
当我过去遇到类似的问题时,我必须使用
image_size_names_choose
过滤器添加图像。不过那是 WordPress 3.5 之前的事;你说它可以在 3.4 上运行,所以我不知道它是否有帮助,但值得一试。
本教程的第二步中有一个示例。
在文本编辑器中打开 php.ini 文件(对我来说位于目录 C:\xampp\php 中)并添加 extension=php_gd.dll,然后重新启动服务器并清除浏览器缓存。