最近给某个客户二次开发时有这样一个需求,客户使用的wp插件wp user frontend pro来实现前端投稿,可是这个插件的pro版在文章正文上传图片时调用的不是系统自带的媒体库上传按钮,而是单独弄的一个上传控件,这对于处女座的人来说无疑是一个不可接受的用户体验。

也有人向插件作者提出这个问题,作者的回复是:(看不懂的用户请自行Google翻译)

“As people use the plugin for public post submission, most of them didn’t wanted to expose others uploaded image to other users. Thats why it’s removed and replaced with a plugin native media uploader.”

意思就是说他不想让用户看到所有的媒体文件!!!

难道他不知道wordpress是无比强大吗?不想让用户看到所有的媒体文件,那么可以只让其看到他自己上传的媒体图片就OK了呀。 看看主题屋刚写的教程: WordPress 只显示自己上传的媒体图片文件 。

废话说到这,那么如何调用自带的媒体库呢,主题屋在这里给出简单粗暴的方法:

文件路径: wp-user-frontend-pro/class/render-form.php    930行左右:

if ( $attr[\'rich\'] == \'yes\' ) {
 $editor_settings = array(
 \'textarea_rows\' => $attr[\'rows\'],
 \'quicktags\' => false,
 \'media_buttons\' => true,
 \'editor_class\' => $req_class,
 \'textarea_name\' => $attr[\'name\']
 );

wp_editor( $value, $textarea_id, $editor_settings );

} elseif( $attr[\'rich\'] == \'teeny\' ) {

$editor_settings = array(
 \'textarea_rows\' => $attr[\'rows\'],
 \'quicktags\' => false,
 \'media_buttons\' => true,
 \'teeny\' => true,
 \'editor_class\' => $req_class,
 \'textarea_name\' => $attr[\'name\']
 );

wp_editor( $value, $textarea_id, $editor_settings );

} else {

media_buttons的位置,原本是false,改为true即可。然后你在后台添加表单时,post content的控件里有个 启用图像插入(insert image)选项,不要勾选!

这样修改后,有出现一个边框border的css问题,修复办法:

路径 assets/css/frontend-forms.css   91行左右

ul.wpuf-form li .wp-editor-wrap {
 /*border: 1px solid #eeeeee;*/ 
}
/*下面的是新加的*/
ul.wpuf-form li .wp-editor-wrap .wp-editor-container{
 border: 1px solid #eeeeee;
}

大功告成!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注