我正在尝试在电子邮件的主题行中包含一个评级评论元值,通知作者有人在他们的帖子上留下了新的评论(在我的情况下,还有一个评级)。
function mycustomfilter_comment_notification_subject( $subject, $comment_id ) {
$comment = get_comment( $comment_id );
$subject = get_the_title( $comment->comment_post_ID ) . \': \' . get_comment_meta( $comment->comment_ID, \'rating\', true ) . \' star rating\';
return $subject;
}
add_filter( \'comment_notification_subject\', \'mycustomfilter_comment_notification_subject\', 10, 2 );
The
get_comment_meta()
呼叫失败。当我尝试使用
comment_notification_text filter
.
评级值正在保存到数据库中,因为我可以在自定义wp_list_comments()
我已经准备好了回电。
知道我的电子邮件代码为什么会失败吗?非常感谢。
SO网友:user2093979
解决方案是在保存我的评分值的comment\\u post操作中添加一个优先级编号,如下所示:
function save_comment_meta_data( $comment_id ) {
if ( ( isset( $_POST[\'rating\'] ) ) && ( $_POST[\'rating\'] != \'\') ) {
$rating = wp_filter_nohtml_kses($_POST[\'rating\']);
add_comment_meta( $comment_id, \'rating\', $rating );
}
}
add_action( \'comment_post\', \'save_comment_meta_data\', 5 ); // Adding a priority number of 5 fixed the problem!