如何在WordPress中实现自定义评论排序功能?
讲解如何使用WordPress代码实现自定义评论排序功能的方法和技巧。
-
玖比肆 评论要在WordPress中实现自定义评论排序功能,需要进行以下步骤:
第一步:添加自定义排序选项
在评论列表页面添加自定义排序选项。可以在函数文件中使用“manage_edit-comments_columns”和“manage_comments_custom_column”函数添加自定义列和选项。例如:
function custom_comments_columns($columns) {
$columns['xyz_order'] = __( 'Order', 'textdomain' );
return $columns;
}
add_filter( 'manage_edit-comments_columns', 'custom_comments_columns' );function custom_comments_column( $column, $comment_ID ) {
switch ( $column ) {
case 'xyz_order':
$order = get_comment_meta( $comment_ID, 'xyz_order', true );
echo $order;
break;
default:
break;
}
}
add_action( 'manage_comments_custom_column', 'custom_comments_column', 10, 2 );第二步:添加筛选表单
添加筛选表单,让用户可以选择不同的排序选项。可以在函数文件中使用“restrict_manage_comments”函数添加筛选表单。例如:
function custom_comments_filter() {
$orderby_options = array(
'meta_value_num' => __( 'Order', 'textdomain' ),
'comment_date' => __( 'Date', 'textdomain' ),
);
if ( isset( $_GET['orderby'] ) ) {
$orderby_value = $_GET['orderby'];
} else {
$orderby_value = 'meta_value_num';
}
?>
is_admin && $query->get( 'post_type' ) == 'post' && isset( $_GET['orderby'] ) ) {
$orderby_value = $_GET['orderby'];
switch ( $orderby_value ) {
case 'meta_value_num':
$query->set( 'meta_key', 'xyz_order' );
$query->set( 'orderby', 'meta_value_num' );
break;
case 'comment_date':
$query->set( 'orderby', 'comment_date' );
break;
default:
break;
}
}
}
add_action( 'pre_get_comments', 'custom_orderby_comments' );完成了上述步骤后,就可以在WordPress中实现自定义评论排序功能了。用户可以选择不同的排序选项,评论会按照选择的选项进行排序。
2023年 5月 11日 下午9:19
