我正在使用自定义帖子类型为一个小型网络创建一个广告门户。为了防止WordPress数据库损坏或未经授权访问用户信息,我需要在创建和更新广告帖子时,通过将自定义帖子类型数据复制到外部数据库,将数据与广告应用程序分离。我正在使用save_post
钩子来处理函数应该何时运行,以及wp_insert_post()
将所有post数据推入数据库。我想做的是,默认情况下,帖子将保存在WordPress数据库中,并使用我的插件功能保存到外部数据库。
我搞不清楚的问题是怎么说wp_insert_post()
使用外部数据库而不是global $wpdb
它默认使用的变量,如WP代码参考中所述。
如何使用自定义数据库wp_insert_post
? 还是有更好的方法?
我的函数,基于WordPress codex和堆栈交换示例:
// Function to push data on update
function my_data_push ($post_id) {
// Check for custom post type
if (get_post_type($post_id) == \'ads\'):
// Set up database connection to external ads storage database
$push_to_db = new wpdb(\'username\',\'password\',\'database\',\'host\');
// Insert post data in external database
wp_insert_post($post_id, $wp_error = true);
endif;
}
// Add function to post save hook
add_action(\'save_post\', \'my_data_push\');