有一个问题:我想添加一个表“linkmeta”来像“posmeta”或“commentmeta”一样工作。。并使用add\\u metadata/update_metadata / 删除\\u元数据!
但是,在此函数中,调用“\\u get\\u meta\\u table()”以验证db中的名称,代码如下:
function _get_meta_table($type) {
global $wpdb;
$table_name = $type . \'meta\';
if ( empty($wpdb->$table_name) )
return false;
return $wpdb->$table_name;
}
因此,如果$wpdb中不存在名为“linkmeta”的属性/变量,
_get_meta_table
将返回false,然后
update_metadata
太不起作用,因为这段代码的开头是:
if ( ! $table = _get_meta_table($meta_type) )
return false;
但是,如果我可以设置(类)的属性/变量
$wpdb
喜欢
$wpdb->linkmeta
返回表的正确名称,在本例中(默认)为wp\\u linkmeta,其余的一切都很好!
那么,有没有一种方法可以在运行时更改wpdb?如果我只是把命令:
$wpdb->tables = array_merge($wpdb->tables, array(\'linkmeta\'));
$wpdb->linkmeta = $wpdb->prefix . \'linkmeta\';
在插件初始化时,它会在运行时工作吗
_get_meta_table
被称为??!
rgds