SWELLカスタマイズ|商品レビューブロックのJSON出力を自動で出力する
SWELLには商品レビューブロックがあります。
JSON構造化データを出力できるので便利です。
しかし、JSON構造化出力だけ使いたい時に、記事毎に商品レビューブロックを置くのが面倒だと思いました。
商品レビューブロックを記事内に置かないでもJSON構造化データを出力するようなカスタマイズをご紹介します。
あくまでもひな形なので、出力したい項目などをACFなどで記事毎に分けたりするのは別途追加する必要があります。
SWELL 商品レビューブロックの構造化データ出力の仕組み
ソースコードは、swell/lib/gutenberg/block/review.php
になります。
このコードにあるswl_get_review_json()
を呼び出せば構造化データを出力できます。
商品レビューブロックのJSON出力だけ使うスニペット(ひな形)
headタグ内にjson+ldを出力するようにするスニペットになります。
swl_get_review_json()
の引数attrsに値を設定して呼び出して構造化データを出力しています。
コードから直接呼び出す場合は、以下の項目をattrsに設定しておかないと警告が出ます。
$rating = $attrs['rating'];
$merits = $attrs['merits'];
$demerits = $attrs['demerits'];
$author = $attrs['author'];
$usePostAuthor = $attrs['usePostAuthor'];
他にも設定できる項目は多数ありますが、必要最低限必要な項目だけ設定しています。
ACFなどで個別の設定値を記事毎に分けたりするのは簡単なので省略します。
add_action('wp_head',function(){
/**
* 商品レビュー
* see: https://developers.google.com/search/docs/advanced/structured-data/product, https://developers.google.com/search/docs/advanced/structured-data/review-snippet
*/
$attrs['name'] = get_the_title();
$attrs['rating']= "5";
$attrs['usePostAuthor']="1";
echo SWELL_Theme\Block\Review\swl_get_review_json( $attrs );
});
まとめ
商品レビューの構造化データを出力できるプラグインもありますが、SWELLのブロックに商品レビュー機能がありますので、それを利用しつつ、入力の手間を省くカスタマイズをご紹介しました。
今回紹介したスニペットは、SWELLの関数をそのまま使っているので、SWELLのバージョンアップがあっても変更が入る可能性は低いです。
コメントを閉じる
コメント