古腾堡“最新帖子”区块中的硬体图片

时间:2020-09-29 作者:pressword

“我喜欢古腾堡”;“最新帖子”;块我的问题是,它不会硬裁剪用户上传到帖子中的图像。有没有办法选择我通过add_image_size() 作用

我真的没有任何代码,但我认为这个问题是有主题的,因为它纯粹是关于wordpress核心的。如果不是,我很抱歉!

我用来创建自定义图像大小的是:

add_action( \'after_setup_theme\', \'aeroleds_image_sizes\' );
function aeroleds_image_sizes() {
    add_image_size( \'banner-image\', 400, 300, true ); // (cropped)
}

2 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

最新帖子阻止使用(wp.data.select( \'core/block-editor\' ).getSettings() 获取)编辑器设置中的图像大小,可通过block_editor_settings hook 在PHP中:

apply_filters( \'block_editor_settings\', array $editor_settings, WP_Post $post )

过滤要传递到块编辑器的设置。

用于图像大小的设置名称为imageSizes.

例如,要定制banner-image 大小可在“特色图像大小”下拉列表中使用(在最新帖子块的设置中):

add_filter( \'block_editor_settings\', \'wpse_375600\' );
function wpse_375600( $editor_settings ) {
    $editor_settings[\'imageSizes\'][] = [
        \'slug\' => \'banner-image\',
        \'name\' => \'Banner Image\',
    ];

    return $editor_settings;
}
除了过滤器特定于块编辑器之外,回调还可以访问正在编辑的帖子,这是第二个参数($post) 如上图所示,在过滤器挂钩中。例如,您可以只为某些帖子过滤设置。

Resources:

SO网友:Paul

看起来您还必须将自定义图像缩略图大小传递给过滤器image_size_names_choose. 我尝试了它,它可以在最新的帖子下拉列表中将自定义图像大小显示为选项:

add_filter(\'image_size_names_choose\', function( $sizes ){
    return array_merge( $sizes, [ \'banner-image\' => \'banner image\' ] );
});
这个博客解释了一个类似的问题,所以我尝试了他的建议。https://talhasariyuerek.com/en/show-all-image-sizes-in-gutenberg-mediaupload-wordpress/

顺便说一下,控制下拉的古腾堡组件是https://github.com/WordPress/gutenberg/tree/master/packages/block-editor/src/components/image-size-control

相关推荐

Yoast SEO过滤器钩子wpseo_sitemap_urlimages何时启动?

我正在尝试将一个简单的函数附加到Yoast SEO过滤器挂钩wpseo_sitemap_urlimages 并让函数运行,但我不能这样做。我的代码是:function tp_filter_wpseo_sitemap_urlimages($images, $post_id) { error_log(\"test message\"); return $images; } add_filter(\'wpseo_sitemap_urlimages\', \'tp_