WP 如何在页面父级更改时调用 add_meta_box 的回调函数

问题描述

我在 WP add_Meta_Box($id,$title,$callback) 中有一个回调函数,它根据当前页面深度显示不同的元框。例如:在顶级页面(父页面)上显示元框 X,在子页面显示元框 Y 等等。

问题是:当我创建一个页面时,它被视为顶级页面显示元框 X(应该是这样)但是一旦我更改了新创建的页面父级(不保存帖子)它即使它应该显示元框 Y,它仍然继续显示元框 X。这是因为回调函数在创建页面时运行一次,我需要再次运行相同的函数以在页面属性父更改上显示正确的元框。

如何在不保存帖子的情况下每次更改页面属性时再次调用此回调函数

P.S - 如果我保存帖子并刷新,它会显示正确的元框 Y,但它也会将元框 X 保存到这个新创建的页面数据库中,而我只需要保存元框 Y。 我能够通过定义来克服保存元框 X 的问题

$post_status = get_post_status($post_id);

if($post_status == "auto-draft" || $post_status == "draft") return;

但正如您所看到的,它不是最佳的,只是一种临时解决方案,可以保存为草稿然后刷新,然后才保存正确的元框。

非常感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)