在Wordpress中,我需要在上传文件夹中生成并创建一个新的裁剪图像尺寸:
在我的function.php里面是我的代码:
// Call function on after setup
add_action( 'after_setup_theme', 'theme_setup_img' );
function theme_setup_img() {
add_theme_support( 'post-thumbnails' );
add_image_size('search-thumb', 205, 120, true );
// set_post_thumbnail_size( 205, 120, true );
}
但是,在上传文件夹中没有创建新的图像尺寸(仅限默认的WP尺寸)。任何解决方案?
注意:我使用的是默认主题和最新的WP版本
答案 0 :(得分:2)
您的代码看起来是正确的。我的情况略有不同,我知道它有效:
if (function_exists('add_theme_support'))
{
// Add Thumbnail Theme Support
add_theme_support('post-thumbnails');
add_image_size('large', 700, '', true); // Large Thumbnail
add_image_size('medium', 250, '', true); // Medium Thumbnail
}
这是取自Todd Motto的HTML5 Blank Theme。 Gerald还提到编写一个脚本来重新渲染,但是那个名为Regenerate Thumbnails的插件也是一个很好的插件,可以做同样的事情。
答案 1 :(得分:2)
这可能是因为您在" after_setup_theme"中调用了新尺寸。动作...我使用以下代码:
// Add custom image sizes
if( function_exists( 'add_image_size' ) ) {
add_image_size( 'search-thumb', 205, 120, true );
}
它每次都有效......如果它在functions.php文件中,你就不需要动作或钩子来使它工作。
此外,你可以将它添加到functions.php,以便在将图像插入页面/帖子/其中时,在下拉菜单中显示自定义尺寸:
// Functions to add custom image sizes to the media library thickbox area
// and put them into drop down
function my_insert_custom_image_sizes( $sizes ) {
// get the custom image sizes
global $_wp_additional_image_sizes;
// if there are none, just return the built-in sizes
if ( empty( $_wp_additional_image_sizes ) )
return $sizes;
// add all the custom sizes to the built-in sizes
foreach ( $_wp_additional_image_sizes as $id => $data ) {
// take the size ID (e.g., 'my-name'), replace hyphens with spaces,
// and capitalise the first letter of each word
if ( !isset($sizes[$id]) )
$sizes[$id] = ucfirst( str_replace( '-', ' ', $id ) );
}
return $sizes;
}
add_filter( 'image_size_names_choose', 'my_insert_custom_image_sizes' );
在实施此代码之前,您需要一个插件(我使用AJAX Thumbnail Rebuild)来调整已上传的旧图片。
答案 2 :(得分:0)
这里的问题是"动态图像调整器"插入。 它用Wordpress 4.0打破了我的主题。