概要
woocommerce_review_before_comment_text
アクションは、WooCommerceの商品レビューで、コメントテキストの前に何らかのカスタム機能や内容を追加する際に使用されます。このフックは、レビューの表示をカスタマイズしたり、追加情報を表示するために利用されることがよくあります。具体的には、次のような機能を実装する場合に役立ちます:
- カスタムメッセージの挿入
- レビューのスコアや評価の強調表示
- 特定のユーザーによるレビューデータの取得
- ソーシャル証明(他の顧客の購買履歴など)の表示
- 追加のナビゲーションリンクやボタンの追加
- レビューのコンテンツに関連する広告やプロモーションの表示
構文
do_action('woocommerce_review_before_comment_text', $comment);
パラメータ
$comment
: 現在のコメントオブジェクト。
戻り値
このアクションフック自体は値を返しませんが、アクションを追加することで処理の結果(カスタムHTMLなど)を画面に出力します。
使用可能なバージョン
- WooCommerceのバージョン: 3.0.0以上
- WordPressのバージョン: 4.0.0以上
サンプルコード
サンプルコード 1: カスタムメッセージの追加
add_action('woocommerce_review_before_comment_text', 'custom_message_before_review', 10);
function custom_message_before_review($comment) {
echo '<div class="custom-message">ありがとう!あなたのレビューが役に立ちます。</div>';
}
このコードは、商品レビューのコメントテキストの前に「ありがとう!あなたのレビューが役に立ちます。」というメッセージを追加します。
サンプルコード 2: レビューのスコアを強調表示
add_action('woocommerce_review_before_comment_text', 'highlight_review_score', 10);
function highlight_review_score($comment) {
$rating = get_comment_meta($comment->comment_ID, 'rating', true);
echo '<strong>評価: ' . esc_html($rating) . ' 星</strong><br>';
}
このコードは、レビューのスコア(星の数)を強調表示し、コメントの前に表示します。
サンプルコード 3: 購入者のバッジ表示
add_action('woocommerce_review_before_comment_text', 'add_purchaser_badge', 10);
function add_purchaser_badge($comment) {
if (get_comment_meta($comment->comment_ID, 'is_purchaser', true)) {
echo '<span class="purchaser-badge">購入者です</span>';
}
}
このコードは、購入者が投稿したレビューには「購入者です」というバッジを追加します。
サンプルコード 4: SNSシェアリンクの追加
add_action('woocommerce_review_before_comment_text', 'add_social_share_links', 10);
function add_social_share_links($comment) {
echo '<div class="social-share">このレビューを共有する: <a href="#">Facebook</a> | <a href="#">Twitter</a></div>';
}
このコードは、レビューの前にSNSシェアリンクを追加します。
サンプルコード 5: 特別なオファーの表示
add_action('woocommerce_review_before_comment_text', 'show_special_offer', 10);
function show_special_offer($comment) {
echo '<div class="special-offer">今ならこの商品を15%オフで購入できます!</div>';
}
このコードは、レビューの前に特別なオファー情報を表示します。
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |