无法通过learndash-assignment-list-columns钩子移除LearnDash列
解决LearnDash作业列表移除日期与评论列无效的问题
你之前的代码核心错误是误用了apply_filters,正确的做法是用add_filter注册过滤器函数,这也是代码未生效的主要原因。以下是修正后的解决方案:
修正后的过滤器代码
add_filter( 'learndash-assignment-list-columns', function( $columns ) { // 移除日期和评论列 unset( $columns['date'] ); unset( $columns['comments'] ); return $columns; }, 999 ); // 设置高优先级,确保覆盖LearnDash的默认设置
若仍未生效的排查与调整
如果上述代码还是没效果,可能是列的键名与你使用的LearnDash版本不一致。可以先打印当前列数组确认实际键名(仅用于调试):
add_filter( 'learndash-assignment-list-columns', function( $columns ) { // 打印列信息,查看实际键名 var_dump( $columns ); return $columns; }, 999 );
根据打印结果调整unset的键名,比如部分版本中日期列可能是submitted_date,评论列可能是comment_count。
备选方案:CSS强制隐藏
如果钩子方法始终不生效,可直接用CSS强制隐藏对应列,将代码添加到主题的自定义CSS区域:
/* 隐藏作业列表日期列 */ .learndash-assignment-list .ld-table-column-date { display: none !important; } /* 隐藏作业列表评论列 */ .learndash-assignment-list .ld-table-column-comments { display: none !important; }
内容的提问来源于stack exchange,提问作者Jake
相关产品推荐
相关产品推荐

