Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅在需要时将多部分编码标志添加到WordPress元数据库_Wordpress - Fatal编程技术网

仅在需要时将多部分编码标志添加到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插件的正确“模式”。通过查找钩子,您总能看到钩子传递的参数