WP_Prefix已更改。如何更改才能理解任何前缀?

时间:2014-05-04 作者:LPH

我有一个插件,上面有一行代码调用wp\\u功能。这适用于默认前缀。如果有人将前缀更改为其他内容(bluehost脚本会这样做),我如何修复此代码?你能解释一下原因吗?

我可以为单个站点硬编码,但如何使其“通用”?

更改:

$current_user->data->wp_capabilities[$role_name];
收件人:

$current_user->data->wp_xyz_capabilities[$role_name];
我理解(并在SQL语句中使用){$wpdb->prefix}很好。

我已经查看了$table\\u prefix以及$wpdb->prefix,但我在PHPStorm状态下尝试的组合(需要分号或红线)显示,表明存在问题。

感谢您的时间和解释。

2 个回复
SO网友:Stephen Harris

前缀引用only 对于数据库表前缀wp_ 函数、类、变量、(数组)索引或(类)属性名称中的前缀完全不受影响,并保持为wp_.

因此,只要您使用的所有插件(和主题)都避免使用带有硬编码的SQL语句wp_ 前缀(并且,正如您所指出的,使用$wpdb->prefix) 你会没事的。

无法对PHPStorm标记的内容进行评论,但这与表前缀的更改完全无关。

SO网友:Punitkumar Patel

此处:

$current_user->data->wp_capabilities[$role_name];
wp_capabilities 不是WordPress表或前缀。所以请保持原样。当您使用任何查询从表中提取数据时,需要添加前缀($wpdb->prefix ) 表的。在你的情况下,这是不需要的。

结束

相关推荐