我创建了一个元框我注意到save_post
似乎是在我登陆页面时触发的,因此会出现如下错误Undefined index: xxx in /data/www/ae/wp-content/themes/xx/functions.php on line 121
add_action(\'save_post\', function($id) {
if (defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE) {
return;
}
if (!isset($_POST) || !is_array($_POST)) {
return;
}
update_post_meta($id, \'xxx\', sprintf(\'%f\', $_POST[\'xxx\']));
...
});
最合适的回答,由SO网友:TheDeadMedic 整理而成
看见Why does save_post action fire when creating a new post?
当您需要检查$_POST[\'xxx\']
, 而不仅仅是检查$_POST
设置(默认情况下,它将始终设置为空数组)。
add_action(\'save_post\', function($id) {
if ( ( defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE ) || !isset( $_POST[\'xxx\'] ) )
return;
update_post_meta( $id, \'xxx\', sprintf( \'%f\', $_POST[\'xxx\'] ) );
// run further code
});