我正在为实践编写一个插件,遇到了另一个插件高级自定义字段与我的代码冲突的问题。我已经用自己的自定义字段创建了一个自定义帖子类型。如果禁用ACF,我的保存方法会起作用,并且会保存自定义字段数据,但是,当我尝试在插件处于活动状态的情况下保存/发布时,我会收到一个验证错误,我认为这是来自ACF插件。有关错误消息,请参阅pic。
所以我想我的问题是,我是否需要检查这个插件是否处于活动状态并使用它的功能来处理这个问题,如果不是以正常的方式来处理,还是我做错了什么?是否每个保存自定义字段数据的插件都必须检查此插件是否处于活动状态并相应地进行处理?这对我来说似乎并不合适,但这是我第一次编写插件。
以下是我的保存方法:
public function save_metabox_details() {
global $post;
if(current_user_can(\'editor\') || current_user_can(\'administrator\') && isset($_POST[\'ipmyskills_nonce\'])) {
$nonce = $_POST[\'ipmyskills_nonce\'];
if( $nonce && !check_admin_referer( basename(__FILE__), \'ipmyskills_nonce\' )) {
die(\'Validation error\');
}
if (isset($_POST[\'ipmyskills_input\'])) {
$sanitized_value = esc_html( sanitize_text_field( $_POST[\'ipmyskills_input\'] ) );
update_post_meta($post->ID, \'ipmyskills_input\', $sanitized_value);
}
}
}