如何在WordPress中实现自定义评论排序功能?

玖比肆 WordPress 39

讲解如何使用WordPress代码实现自定义评论排序功能的方法和技巧。

回复

共1条回复 我来回复
  • 玖比肆的头像
    玖比肆 评论

    要在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 0条评论
微信客服
分享本页
返回顶部
玖比肆(9Bi4)专注于帮助企业实现数字化转型,提供全方位的网站建设、网络运营、网络推广、网络营销和SEO优化等一系列数字化营销服务。