我不知道如何强制此函数在执行了WP中的所有其他保存内容后作为最后一个函数运行。
这是我插件中的当前代码:
add_action( \'save_post\', \'do_custom_save\' );
function do_custom_save( $post_id ) {
// No auto saves
if( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) return;
// make sure the current user can edit the post
if( ! current_user_can( \'edit_post\' ) ) return;
// assure the post type
if ( ! get_post_type($post_id) == \'post\' ) return;
$latitude = $_POST[\'rw_company_latitude\'];
$longitude = $_POST[\'rw_company_longitude\'];
$zoom = \'6\';
$lat_lon_zoom = $latitude . \', \' . $longitude . \', \' . $zoom ;
update_post_meta($post_id, \'company_map\', $lat_lon_zoom );
}
How to force this code to be executed and saved the mixed variable as the last thing? After all the other saving and updating is done.
因为现在它已经更新好了,但又被原始地图字段$\\u POST[\'company\\u map\']中的值重写了。我需要告诉WP,在执行保存/更新帖子内容时,此函数应该作为最后一个函数运行。
如何做到这一点?
最合适的回答,由SO网友:Maruti Mohanty 整理而成
add_action
有一个priority 参数为10 默认情况下,可以增加该值以延迟加载函数。
改变add_action( \'save_post\', \'do_custom_save\' );
到
add_action( \'save_post\', \'do_custom_save\', 100 );
现在,优先级设置为100,将很晚加载,并允许在执行此函数之前加载其他相关函数。
有关更多详细信息,请查看函数参考add_action
.