Description
Following up on PR #2072, and suggested by Juliette.
- This would need the same research as mentioned [in #2078].
- This check would need to use the MinimumWPVersionTrait to determine whether the recommendation should be shown or not, based on the minimum WP version a plugin/theme supports.
When it comes to %1$s
-like placeholders, I'm very much in favour of this (it's why $wpdb->allow_unsafe_unquoted_parameters
exists, and my plan over the next ~10 years is to eventually remove that risky feature, where %1$s
-like placeholders are not quoted, because developers must remember to correctly add quotes themselves).
With $wpdb->tablename
, I have created WordPress Ticket #56091 (specifically PR #3016), so WordPress could use %i
for some table names. But my concern while making this PR was that it made queries a bit harder to read (it's not immediately obvious which table is being used). Also, I cannot imagine there are many developers who need their $table_prefix
to contain characters other than [a-zA-Z0-9_]
... that said, while I am aiming for wpdb::prepare()
to require a literal-string
for its first argument (i.e. a developer defined string), maybe that will be too hard for WPDB to check (being able to trace the variable back to all of its sources)?