我希望在我的Woo Commerce产品评论中添加一些元数据。
我的插件显示了客户正在评论哪个产品 variant ,我想将该信息添加到每个客户的评论(评论)中,并附上一小幅有关产品变化的缩略图img还有一点。
但是我很难找到要使用的过滤器/挂钩。
我已经尝试过这个了...
add_filter( 'comment_text', function( string $comment_text ) {
$comment_text = '<p>Comment text injection</p>' . $comment_text;
return $comment_text;
});
它可以工作,但是问题是,它没有提供太多上下文...我需要注释ID,以便可以获取有关该注释的一些元数据。
文档说此过滤器可以将WP_Comment obj与该过滤器一起传递...但是在我看来,这不会发生。
https://developer.wordpress.org/reference/hooks/comment_text
有关可用的钩子/过滤器的任何建议-我真的不想开始修改注释模板。
答案 0 :(得分:1)
comment_text
过滤器挂钩允许3个函数参数(因此您错过了其中2个):
$comment_text
(字符串),主要的过滤参数$comment
(对象),当前的WP_Comment
对象实例$args
(数组),一个参数数组因此在此挂钩函数中,以下是针对订购说明的示例,例如:
add_filter( 'comment_text', 'customizing_comment_text', 20, 3 );
function customizing_comment_text( $comment_text, $comment, $args ) {
if( $comment->comment_type === 'review' ) {
$comment_text = '<p>Comment text injection</p>' . $comment_text;
}
return $comment_text;
}
代码进入活动子主题(或活动主题)的functions.php文件中。经过测试和工作。
要获取特定的评论元数据,您将使用以下功能get_comment_meta()
:
$meta_value = get_comment_meta( $comment->comment_ID, 'your_meta_key', true );
要添加特定的评论元数据,您将使用以下功能add_comment_meta()
:
add_comment_meta( $comment_id, 'your_meta_key', $meta_value, $unique );