Php Wordpress用于更改现有特征图像大小的功能
我正在使用自定义社区(CC)主题 我创建了一个子主题 我已经创建了一个functions.php文件 最初的CC主题在functions.php中包含此代码Php Wordpress用于更改现有特征图像大小的功能,php,wordpress,function,wordpress-theming,Php,Wordpress,Function,Wordpress Theming,我正在使用自定义社区(CC)主题 我创建了一个子主题 我已经创建了一个functions.php文件 最初的CC主题在functions.php中包含此代码 // This theme uses post thumbnails if (function_exists('add_theme_support')) { add_theme_support('post-thumbnails'); set_post_thumbnail_size(22
// This theme uses post thumbnails
if (function_exists('add_theme_support')) {
add_theme_support('post-thumbnails');
set_post_thumbnail_size(222, 160, true);
add_image_size('slider-top-large', 1006, 250, true);
add_image_size('slider-large', 990, 250, true);
add_image_size('slider-responsile', 925, 250, true);
add_image_size('slider-middle', 756, 250, true);
add_image_size('slider-thumbnail', 80, 50, true);
add_image_size('post-thumbnails', 222, 160, true);
add_image_size('single-post-thumbnail', 598, 372, true);
}
我想将帖子缩略图大小从222x160更改为更大的大小,例如400x300
我已经阅读了关于Post缩略图、函数参考/添加图像大小、函数参考/设置Post缩略图大小、函数参考/Post缩略图、插件API/过滤器参考的codex
不幸的是,我对PHP的理解仍然非常有限,我还处于早期学习阶段
我在其他地方也看到过类似的例子,比如在“210”主题中出现了类似的问题,但是如果没有我的functions.php将我锁定,在ftp上删除它并重新开始,我就无法理解或应用我自己
我仍然不确定是否可以向子主题functions.php中添加一个函数,该函数将为父主题中的缩略图(或任何其他指定的图像类型)取消设置/重新分配图像大小
为了澄清我的functions.php和sub-theme是否正常工作,我可以确认我已经成功地使用了一些函数来设计我的登录名,我只是缺乏对实现这一点的理解
在tuts plus教程(第6点-删除其他图像大小)之后,我在functions.php中尝试了以下代码:
//change thumbnail size
function remove_parent_image_sizes( $sizes ) {
unset( $sizes['post-thumbnail-size'] );
return $sizes;
}
if ( function_exists( 'add_image_size' ) ) {
// 400 pixels wide and 300 px tall, cropped
add_image_size( 'post-thumbnails', 400, 300, true );
}
然后我从一篇文章中删除了一个特色图片,并应用了一个新的,但它的尺寸仍然是222x160
仍然困惑:(
也试过这种方法,但仍然没有运气
//change thumbnail size
function remove_parent_image_sizes( $sizes ) {
unset( $sizes['post-thumbnail-size'] );
return $sizes;
}
if (function_exists('add_theme_support')) {
add_theme_support('post-thumbnails');
set_post_thumbnail_size(400, 300, true);
add_image_size('post-thumbnails', 400, 300, true);
}
将这一行(从stackexchange链接修改)添加到末尾导致我的站点中断:
add_action( 'after_setup_theme', 'remove_parent_image_sizes' );
您应该首先使用
remove_action()
或remove_filter()
函数删除父主题行为,然后可以使用add_action()
添加子主题的操作。
这是一个很好的教程,介绍了如何在子主题中修改父主题行为,供您参考。最后,答案非常简单,父主题的作者对我需要做的事情给出了明确的说明
* To override cc_setup() in a child theme, add your own cc_setup to your child theme's
* functions.php file.
上面的原始代码是需要包含在子主题中的函数的开始:
function cc_setup() {
global $cap, $content_width;
// This theme styles the visual editor with editor-style.css to match the theme style.
add_editor_style();
// This theme uses post thumbnails
if (function_exists('add_theme_support')) {
add_theme_support('post-thumbnails');
set_post_thumbnail_size(222, 160, true);
add_image_size('slider-top-large', 1006, 250, true);
add_image_size('slider-large', 990, 250, true);
add_image_size('slider-responsile', 925, 250, true);
add_image_size('slider-middle', 756, 250, true);
add_image_size('slider-thumbnail', 80, 50, true);
add_image_size('post-thumbnails', 222, 160, true);
add_image_size('single-post-thumbnail', 598, 372, true);
}
然后我删除了我不想修改的行并关闭了函数}:
// Override parent theme thumbnail size
function cc_setup() {
global $cap, $content_width;
// This theme styles the visual editor with editor-style.css to match the theme style.
add_editor_style();
// This theme uses post thumbnails
if (function_exists('add_theme_support')) {
add_theme_support('post-thumbnails');
set_post_thumbnail_size(400, 300, true);
add_image_size('post-thumbnails', 400, 300, true);
}
}
保存了functions.php(子主题),上传了一个新的特色图片到一篇文章,它成功了,我的缩略图现在是400300
第一次没有正确阅读文档是我的错,吸取了教训!在我看来,在子主题中创建自己大小的最简单方法是删除并重新设置,如以下示例所示:
// Use the after_setup_theme hook with a priority of 11 to load after the
// parent theme, which will fire on the default priority of 10
add_action( 'after_setup_theme', 'remove_featured_images_from_child_theme', 11 );
function remove_featured_images_from_child_theme() {
// This will remove support for post thumbnails on ALL Post Types
remove_theme_support( 'post-thumbnails' );
// Add this line in to re-enable support for just Posts
add_theme_support( 'post-thumbnails', array( 'post' ) );
// Thumbnail sizes
add_image_size( 'my-theme-featured', 638, 280, true );
add_image_size( 'my-theme-featured-home', 311, 207, true);
add_image_size( 'my-theme-featured-carousel', 970, 400, true);
}
不要忘了在更改后使用类似的插件重建缩略图
我希望这有帮助,
迈克检查一下这个谢谢你的教程,我相信它会有帮助的!