Opened 11 months ago
Last modified 7 months ago
#21249 new defect (bug)
WP_List_Table::single_row_columns() needs to do an exact comparison
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | lowest | Milestone: | Future Release |
| Component: | Administration | Version: | |
| Severity: | trivial | Keywords: | has-patch |
| Cc: | kurtpayne |
Description
If for whatever reason you pass a column ID of 0 when dealing with a list table, WordPress thinks it's a checkbox column because of the loose comparison, i.e. == instead of ===.
Since I don't see why passing a number instead of a string shouldn'r be allowed, attached is a patch.
Attachments (1)
Change History (7)
Viper007Bond — 11 months ago
- Keywords reporter-feedback removed
D'oh. Yes, it does. Seems PHP's type coercion is at least as treacherous as the one in JavaScript.
- Cc kurtpayne added
- Keywords needs-testing removed
- Milestone changed from Awaiting Review to 3.4.3
I can reproduce the original bug. The patch looks good.
- Milestone changed from 3.4.3 to 3.5
Would if ( 'cb' == $column_key ) in print_column_headers() also be affected?
comment:5
Viper007Bond — 7 months ago
Seems like it would be affected, yes.
I can't test though because I don't remember exactly what I was working on at the time other than maybe I was creating columns programically using a numeric array.

Are you saying 'cb' == 0 evals to true?