PHP 8 Syntax Conversion
January 30, 2025 · AI Conversations
function add_admin_order_list_custom_column($columns)
{
$reordered_columns = array();
// Inserting columns to a specific location
foreach( $columns as $key => $column){
$reordered_columns[$key] = $column;
if( $key == 'order_status' ){
// Inserting after "Status" column
$reordered_columns['my-column1'] = __( 'Title1','theme_domain');
$reordered_columns['my-column2'] = __( 'Title2','theme_domain');
}
}
return $reordered_columns;
}
covert above new syntax php8
add_filter('manage_edit-shop_order_columns', function (array $columns): array {
$reordered_columns = [];
// Inserting columns to a specific location
foreach ($columns as $key => $column) {
$reordered_columns[$key] = $column;
if ($key === 'order_status') {
// Inserting after "Status" column
$reordered_columns['my-column1'] = __('Title1', 'theme_domain');
$reordered_columns['my-column2'] = __('Title2', 'theme_domain');
}
}
return $reordered_columns;
}, 20);
### Changes Made:
1. **Anonymous Function**: Changed the named function to an anonymous function directly in the `add_filter` call.
2. **Type Hinting**: Added type hints for the parameter and return type of the anonymous function.
3. **Strict Comparison**: Used `===` for comparison instead of `==` for strict type checking, which is generally a good practice in PHP.
This maintains compatibility with PHP 8 while making use of some of its features for clarity and better practice.