仅在需要时将多部分编码标志添加到WordPress元数据库
显然,我必须调用以下仅在需要时将多部分编码标志添加到WordPress元数据库,wordpress,Wordpress,显然,我必须调用以下add_action触发器来修改自定义的post类型metabox表单,以允许多部分处理: add\u action('post\u edit\u form\u tag',[\u CLASS\u,'form\u multipart\u encoding']) 但是在我的插件的这个add_action逻辑中,我没有访问$post、get_the_ID()等的权限。怎么可能只有在管理员屏幕中查看我的特定CPT时才触发此操作呢?在我看来,“post_edit_form_标签”操作将
add_action
触发器来修改自定义的post类型metabox表单,以允许多部分处理:
add\u action('post\u edit\u form\u tag',[\u CLASS\u,'form\u multipart\u encoding'])
但是在我的插件的这个
add_action
逻辑中,我没有访问$post、get_the_ID()
等的权限。怎么可能只有在管理员屏幕中查看我的特定CPT时才触发此操作呢?在我看来,“post_edit_form_标签”操作将影响默认帖子和自定义帖子。根据WP文档:应用于默认帖子编辑页面(用于页面和自定义帖子类型)的标记。它位于表单开始标记的末尾和结束括号之前
请参阅自定义元框wpshed以正确设置自定义元框。
add_动作('post_edit_form_tag','post_edit_form_tag');
功能发布\编辑\表单\标签(){
echo'enctype=“多部分/表单数据”;
}
/**
*保存元框值
*/
函数wpshed\u meta\u box\u save($post\u id){
//执行自动保存时停止脚本
if(已定义('DOING_AUTOSAVE')&&DOING_AUTOSAVE)返回;
//验证nonce。如果不存在,请停止脚本
如果(!isset($_POST['wpshed\u meta\u box\u nonce'))| |!wp\u verify\u nonce($_POST['wpshed\u meta\u box\u nonce'],'my\u wpshed\u meta\u box\u nonce'))返回;
//如果用户没有编辑权限,请停止脚本
如果(!current_user_可以('edit_post',get_id())返回;
//保存文本字段
//确保文件数组不是空的,然后处理该文件
如果(!空($\u文件['wpshed\u文件]['name'])){
}
}
添加操作('save_post','wpshed_meta_box_save')代码>在我看来,“post\u edit\u form\u tag”操作将影响默认帖子和自定义帖子。根据WP文档:应用于默认帖子编辑页面(用于页面和自定义帖子类型)的标记。它位于表单开始标记的末尾和结束括号之前
请参阅自定义元框wpshed以正确设置自定义元框。
add_动作('post_edit_form_tag','post_edit_form_tag');
功能发布\编辑\表单\标签(){
echo'enctype=“多部分/表单数据”;
}
/**
*保存元框值
*/
函数wpshed\u meta\u box\u save($post\u id){
//执行自动保存时停止脚本
if(已定义('DOING_AUTOSAVE')&&DOING_AUTOSAVE)返回;
//验证nonce。如果不存在,请停止脚本
如果(!isset($_POST['wpshed\u meta\u box\u nonce'))| |!wp\u verify\u nonce($_POST['wpshed\u meta\u box\u nonce'],'my\u wpshed\u meta\u box\u nonce'))返回;
//如果用户没有编辑权限,请停止脚本
如果(!current_user_可以('edit_post',get_id())返回;
//保存文本字段
//确保文件数组不是空的,然后处理该文件
如果(!空($\u文件['wpshed\u文件]['name'])){
}
}
添加操作('save_post','wpshed_meta_box_save')
post\u edit\u form\u标记
将当前post对象作为参数。您可以这样做,将自定义enctype限制为特定的post类型:函数
post_edit_form_tag($post) {
if($post->post_type === 'your_custom_post_type'){
echo ' enctype="multipart/form-data"';
}
}
这将使您的enctype仅显示在您想要的特定帖子类型上。是wordpress插件的正确“模式”。通过查找钩子,您始终可以看到钩子传递的参数。post\u edit\u form\u标记将当前post对象作为参数包含在内。您可以这样做,将自定义enctype限制为特定的post类型:函数
post_edit_form_tag($post) {
if($post->post_type === 'your_custom_post_type'){
echo ' enctype="multipart/form-data"';
}
}
这将使您的enctype仅显示在您想要的特定帖子类型上。是wordpress插件的正确“模式”。通过查找钩子,您总能看到钩子传递的参数