我希望为我的网站使用的自定义WordPress插件推出一个bug修复程序。
该插件使用各种属性注册一个短代码。
但是,有一个错误,其中一个属性被错误地调用,因此它永远不会在HTML中呈现。
因为我有很多用户使用这个插件,所以他们可能会在生产页面的短代码中不知不觉地设置了这个属性,这意味着推动修复可能会导致这些页面呈现不正确。
我基本上想运行一个脚本;重置(&Q);将shortcode属性的所有实例设置为默认值(\'\'
, 在这种情况下)。
我希望regex查找以下所有实例:
\\[shortcode_name(.*?)(attribute_name=[\'"]\\S*[\'"])
[shortcode_name $1 attribute_name=\'\'
wp_posts.post_content
我知道早期版本的MySQL(<;8.x)没有本机REGEXP_REPLACE()
功能,所以我希望在MySQL和MariaDB的众多广泛使用版本之间能够兼容。我真的不知道如何使用PHP和/或$wpdb类来实现这一点(或者这是否是一个好主意)。
根据PHPCS的规定,“;PHP系统调用通常被服务器管理员禁用;,所以我不想使用shell_exec()
调用WP-CLI脚本。