: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
namespace WPForms\Admin\Base\Tables\Facades;
* Hides the complexity of columns' collection behind a simple interface.
abstract class ColumnsBase {
* Returns all possible columns.
* @return array Array of columns as objects.
protected static function get_all(): array {
* Get columns' keys for the columns which user selected to be displayed.
* It returns an array of keys in the order they should be displayed.
* It returns draggable and non-draggable columns.
public static function get_selected_columns_keys(): array {
* Check if the form has selected columns.
public static function has_selected_columns(): bool {
return ! empty( static::get_selected_columns_keys() );
* Get columns' keys for the columns which the user has not selected to be displayed.
* It returns draggable and non-draggable columns.
public static function get_not_selected_columns_keys(): array {
$selected = static::get_selected_columns_keys();
$all = array_keys( static::get_all() );
return array_diff( $all, $selected );
* @param string|int $key Column key.
public static function validate_column_key( $key ): bool {
return isset( static::get_all()[ $key ] );