WP v3.6.1中未触发SAVE_POST挂钩

时间:2013-09-18 作者:a-coder

我开发了一个插件,它有一个自定义的metabox,使用save_post 挂钩以存储数据。这个插件已有18个月的历史,被成千上万的客户使用,所以我很确定一切都很好。

自从我将测试平台更新到v3之后。6.1,我无法在以前创建的页面/帖子上运行该挂钩。它只适用于新的。

(我是网站中唯一的WP用户。WP调试已启用)

有没有人有过同样的经历?有什么线索吗?我错过了一些变化?

EDIT:

我现在用来检查挂钩的代码是这样的(出于隐私原因,我删除了内部代码):

function saving_metabox($post_id) {
    die(\'test\');

    if(isset($_POST[\'plugin_noncename\'])) {
               ... ...
    }

    return $post_id;
}
add_action(\'save_post\', \'saving_metabox\');

1 个回复
SO网友:rohmann

尝试更改内容并再次保存。这将触发操作。save_post 仅当内容已更改时调用。

要在检查之前进入,可以使用pre_post_update

add_action( \'pre_post_update\', \'saving_metabox\' );
function saving_metabox( $post_id ) {
    die(\'test\');
}

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴