检查是否设置了_GET[‘POST’]时,WordPress SAVE_POST挂接不会触发

时间:2015-08-21 作者:Sebastián Bornia

我遇到了一个问题(自定义metabox未保存),两个小时后,我终于意识到,如果尝试在if语句中的save\\u post挂钩中添加一个操作,检查是否设置了$\\u GET[\'post\',它将不起作用。

基本上,即使设置了$\\u GET[\'post\',如果您将此代码放入函数中。php,它不会工作:

function foo() {
    die(\'Saving post\');
}
if( isset($_GET[\'post\']) ) {
    add_action( \'save_post\', \'foo\' );
}
我试图用其他钩子复制这个,但save\\u post似乎是唯一一个这样做的钩子。

我想知道为什么会这样?

1 个回复
SO网友:shanebp

情况如何$_GET[\'post\'] 设置你为什么要检查它?

可能是您正在添加save_post 打电话太晚了。

尝试:

function foo() {
    die(\'Saving post\');
}

function foo2() {
    if( isset($_GET[\'post\']) ) 
        foo();
}
add_action( \'save_post\', \'foo2\' );

结束

相关推荐

如何将POST_ROW_ACTIONS()与自定义操作函数链接

我在下面定义了一个自定义帖子类型,我想添加一个自定义行操作,以允许我通过管理面板“更新”帖子class LeagueCpt { function __construct() { add_action( \'init\', array(&$this,\'registerLeagueCPT\')); add_filter(\'post_row_actions\', array(&$this,\'post_r