wordpress add_action(‘save_post’,’my_function)不起作用

我试图在保存/更新wordpress中的帖子时触发一个偶数… 请参见此处:

add_action('save_post', 'generate_location'); function generate_location($post_id) { echo "hey"; }

问题是它不起作用… 为什么有任何想法?句法?
#1WordPress实现了Post / Redirect / Get模式以避免重复提交表单, 因此你不会看到任何来自save_post回调的回显。
相反, 你可以改用wp_die(‘ hey’ ), 或将某些内容记录到数据库或文件系统中。
#2我不知道你是否可以使用此功能, 但是我遇到了同样的问题, 并发现了解决方法!
在第2940行的wp-includes / post.php中(在撰写本文时), 此if / else在保存帖子的同时运行:
if ( !empty($page_template) & & 'page' == $data['post_type'] ) {

你会注意到, 如果模板有错误, 该函数将在那里停止并且永远不会调用save_post。
就我而言, 我要保存的帖子是从先前存在的网站导入的。新站点根本没有页面模板, 因此WP仍在尝试使用以前的模板保存页面, 但失败了, 因此; save_post从未被调用。
我加了
/* Template Name: Default Template */

到page.php, 进行批量修改, 选择模板并保存。从page.php中删除模板名称(因为它显示两次(现在, 每次都会触发save_post。
【wordpress add_action(‘ save_post’ ,’ my_function)不起作用】无论如何, 这就是我的解决方案。我敢肯定, 这会影响到别人。

    推荐阅读