我有一个插件可以复制"事件" - 自定义帖子类型 - 从父站点到子站点。复制代码有效但看起来好像是"添加动作"在wordpress保存父站点上的数据之前调用。请参见此处的操作:
add_action(' publish_event',' copy_event_to_another_site',10,1);
如何获得"添加操作"在wordpress在被调用之前保存了父网站上的所有相关数据之后执行 - 所以我可以从父网站复制数据。
更新。 "事件"的实际帖子类型已保存,但所有其他相关数据均未保存。所以我想现在的问题是如何在保存所有数据后执行该过程。
UPDATE2。
我发现你可以使用延迟功能
add_action('publish_event', 'b4w_update_after_one_minute', 10, 1 );
add_action('b4w_delay_copy', 'copy_to_child_site', 10, 1 );
function b4w_update_after_one_minute() {
wp_schedule_single_event( time() + 60, 'b4w_delay_copy');
}
function copy_to_child_site($parent_id){
// copy code goes here
}
问题是该功能" copy_to_child_site"需要传递给它的父帖子ID。使用延迟我不知道如何传递该参数。
答案 0 :(得分:0)
您可以使用post meta来保存额外数据并使用2个钩子(updated_post_meta,added_post_meta)
updated_post_meta,在数据库中更新数据后调用的操作。
答案 1 :(得分:0)
也许你可以通过你的single_event传递它:
function b4w_update_after_one_minute() {
global $post;
$id = $post->ID;
wp_schedule_single_event( time()+100 , 'b4w_delay_copy', array($id));
}