Lazy Blocksを使って画像を入出力する場合、標準的な出力コードはこのようになります。
<img src="{{control_name.url}}" alt="{{control_name.alt}}">
この出力だと、Wordpressで自動生成したサムネイル画像を呼び出せません。
元画像しか出せないのは何かと不自由なので、自分で出力用のコード(custom Handlebars helpers)を作成してみました。
functions.php
// Lazy Blocks用のオリジナルhandlebars_helper
function my_custom_lazyblock_handlebars_helper ( $handlebars )
{
// {{{imgsize hoge 'custom-size'}}}
$handlebars->registerHelper('imgsize', function ($img, $size) {
$img=shortcode_atts(array('id'=>''),$img);//Warning: Illegal string offsetを防ぐ
$imgdata = wp_get_attachment_image($img['id'], $size);
return $imgdata;
});
}
add_action( 'lzb_handlebars_object', 'my_custom_lazyblock_handlebars_helper' );
Lazy Blocksの管理画面上で入力するソースコード
{{{imgsize image 'medium'}}}
★{{}}のかっこを3重の{{{}}}にしないと、htmlがエスケープされてしまいimgタグとして機能しないので注意!
参考:
Image sizes · Issue #68 · nk-crew/lazy-blocks
Could we please get an image size selection and urls for all sizes thanks
ショートコードでWarning: Illegal string offsetエラーが出る時の解決策【ワードプレス】|WEB TIPS~ホー...
先日、ショートコード関連の記事を書いていて、Warning: Illegal string offset なん【WEB TIPS】
コメント