根据上面的评论,您不能直接使用此功能。因此,我们需要按照下面给出的步骤添加此功能。
在评论表单中添加性别字段将性别另存为该评论的元数据更改评论的获取头像功能,以根据性别传递默认url让我们先添加性别字段
// Add the actions to show gender field on comment form
add_action( \'comment_form_logged_in_after\', \'wti_additional_comment_field\' );
add_action( \'comment_form_after_fields\', \'wti_additional_comment_field\' );
function wti_additional_comment_field() {
echo \'<p class="comment-form-gender">\'.
\'<label for="gender_male">\' . __( \'Gender\' ) . \'</label>\'.
\'<input id="gender_male" name="gender" type="radio" value="male" checked="checked" /> \' . __( \'Male\' ) .
\'<input id="gender_female" name="gender" type="radio" value="female" />\' . __( \'Female\' ) .
\'</p>\';
}
让我们将性别值保存为注释元数据
// Add the action to save the gender in comment
add_action( \'comment_post\', \'wti_save_comment_meta_data\' );
function wti_save_comment_meta_data( $comment_id ) {
$gender = wp_filter_nohtml_kses( $_POST[\'gender\'] );
add_comment_meta( $comment_id, \'gender\', $gender );
}
修改获取头像功能以使用默认图像url
// Add the filter to have custom avatar
add_filter(\'get_avatar\', \'wti_custom_avatar\', 10, 5);
function wti_custom_avatar($avatar, $id_or_email, $size, $default, $alt) {
global $comment;
if ( is_object ( $comment ) && !empty ( $comment ) ) {
// Remove to avoid recursion
remove_filter( \'get_avatar\', \'wti_custom_avatar\' );
// Get the comment id and gender for that comment
$comment_id = get_comment_ID();
$gender = get_comment_meta( $comment_id, \'gender\', true );
// Assign the image url as per gender
if ( $gender == \'female\' ) {
$default = \'default_female_avatar_url\';
} else {
$default = \'default_male_avatar_url\';
}
// Get the avatar with default url
$avatar = get_avatar( $comment, $size, $default );
// Add the filter again
add_filter( \'get_avatar\', \'wti_custom_avatar\', 10, 5 );
}
return $avatar;
}
Few things to note:-性别设置为
male
默认情况下
-您需要更换
default_female_avatar_url
和
default_male_avatar_url
你的价值观。