我正在使用可湿性粉剂谷歌地图应用程序。这允许在后端输入地图标记数据,并在前端的地图上显示。
我正在尝试调整这一点,以便作者可以创建帖子,来自帖子的数据填充可湿性粉剂Google Maps表,使其显示在地图上。换句话说,允许非管理员用户创建带有附加字段的地图标记。
WP Google Maps的主要信息存储在一个名为wp_wpgmza的表中。我曾尝试编写一个SQL触发器,在每次创建新的post时使用来自wp_posts和wp_postmeta的数据更新此表,但我无法破解它。关于从两个表中拉出的一些内容和wp_postmeta的结构
对解决这个问题有什么建议吗?
谢谢D
发布于 2015-10-30 12:40:23
在WordPress中,钩子和过滤器通常被用来完成大多数类似的事情。在保存/插入帖子之前,您可以很容易地使用以下钩子来调用函数:
do_action('save_post', $post_ID, $post);
do_action('wp_insert_post', $post_ID, $post);下面是一个示例用法:
function my_function($post_ID, $post) {
}
add_action('save_post', 'my_function', 2);在my_function中,您可以使用$wpdb->insert将数据输入到表中。
function my_function($post_ID, $post) {
global $wpdb;
$table = $wpdb->prefix . 'wpgmza';
$data = array(
'column1' => 'value1',
'column2' => 'value2'
);
$wpdb->insert($table , $data);
}
add_action('save_post', 'my_function', 2);或者,您可以使用function_exists()和插件本身使用的函数来插入到映射表中。
function my_function($post_ID, $post) {
if (function_exists('some_google_map_app_function')) {
some_google_map_app_function();
}
}
add_action('save_post', 'my_function', 2);注意: $post_ID、$post是一些参数,您可以使用它们来获取post数据的峰值和/或将其传递给google地图函数或插入到表中。
有用资源:
https://stackoverflow.com/questions/33426150
复制相似问题