WP_Widget_Media音频{}

实现音频小部件的核心类。

说明

另请参见

方法

姓名说明
WP_Widget_Media音频::__construct建造师。
WP_Widget_Media音频::enqueue_admin_scripts加载媒体管理器所需的媒体文件和媒体小部件的脚本。
WP_Widget_Media音频::enqueue_preview_scripts将预览脚本排队。
WP_Widget_Media音频::获取实例模式获取小部件实例(项)属性的模式。
WP_Widget_Media音频::render_control_template_scripts呈现表单模板脚本。
WP_Widget_Media音频::render_Media在前端渲染媒体。

来源

类WP_Widget_Media_Audio扩展了WP_Wigget_Media{/***建造师。**@自4.8.0起*/公共函数__construct(){父级::__construct('媒体_音频',__(“音频”),阵列('description'=>__('显示音频播放器。'),“mime_type”=>“音频”,));$this->l10n=array_merge(这->110亿美元,阵列(‘no_media_selected’=>__(‘未选择音频’),“add_media”=>_x(“添加音频”,“音频小部件中按钮的标签”),“replace_media”=>_x(“replace Audio”,“音频小部件中按钮的标签;长度最好不超过~13个字符”),“edit_media”=>_x(“edit Audio”,“音频小部件中按钮的标签;长度最好不超过13个字符”),“missing_attachment”=>短跑(/*转换器:%s:媒体库的URL*/__('找不到该音频文件。请检查您的<a href=“%s”>媒体库</a>并确保它未被删除。'),esc_url(管理员url('upload.php'))),/*转换器:%d:小工具计数*/“media_library_state_multi”=>_n_noop(“音频小工具(%d)”,“音频小玩意(%d)“),'media_library_state_single'=>__('音频小工具'),'unsupported_file_type'=>__('看起来这不是正确的文件类型。请链接到音频文件。'),));}/***获取小部件实例(项)属性的模式。**@自4.8.0起**@请参阅WP_REST_Controller::get_item_schema()*@请参阅WP_REST_Controller::get_additional_fields()*@链接https://core.trac.wordpress.org/ticket/35574**属性的@return数组架构。*/公共函数get_instance_schema(){$schema=数组(“preload”=>数组(“type”=>“string”,“enum”=>数组(“none”、“auto”、“metadata”),“默认”=>“无”,“描述”=>__(“预加载”),),“loop”=>数组(“type”=>“boolean”,'默认'=>错误,“描述”=>__(“回路”),),);foreach(wp_get_audio_extensions()作为$audio_extension){$schema[$audio_extension]=数组(“type”=>“string”,“默认”=>“”,“format”=>“uri”,/*转换器:%s:音频扩展*/“description”=>sprintf(__(“%s音频源文件的URL”),$audio_extension),);}返回array_merge($schema,父级::get_instance_schema());}/***在前端渲染媒体。**@自4.8.0起**@param array$instance Widget实例道具。*/公共函数render_media($instance){$instance=数组合并(wp_list_pluck($this->get_instance_schema(),'default'),$instance);$attachment=空;if($this->is_attachmentwith_time_type($instance['attachment_id'],$this->小部件选项['time_type'])){$attachment=get_post($instance['attachent_id']);}if($附件){$src=wp_get_attachment_url($attachment->ID);}其他{$src=$instance[“url”];}echo wp_audio_短代码(阵列_合并($实例,紧凑('src')));}/***将预览脚本排队。**这些脚本通常在使用音频短代码时实时排队。*然而,在定制程序中,可以通过以下方式动态添加和呈现小部件*选择性刷新,因此无条件地将它们排队很重要*如果确实添加了小部件。**@自4.8.0起*/公共函数enqueue_preview_scripts(){/**此过滤器记录在wp-includes/media.php中*/if('medialement'===应用过滤器('wpaudio_shortcode_library','mediaelement')){wp_enque_style('wp-mediaelement');wp_enqueue_script('wp-mediaelement');}}/***加载媒体管理器所需的媒体文件和媒体小部件的脚本。**@自4.8.0起*/公共函数enqueue_admin_scripts(){父级::enqueue_admin_scripts();wp_enqueue_style(“wp-mediaelement”);wp_enque_script('wp-mediaelement');$handle='media-audio-widget';wp_enqueue_script($句柄);$exported_schema=array();foreach($this->get_instance_schema()作为$field=>$field_schema){$exported_schema[$field]=wp_array_slice_assoc($field_schema,数组('type','default','enum','minimum','format','media_prop','should_preview_update');}wp_add_inline脚本($句柄,冲刺('wp.mediaWidgets.modelConstructors[%s].prototype.schema=%s;',wp_json_encode($this->id_base),wp_json_encode($exported_schema)));wp_add_inline脚本($句柄,冲刺('wp.mediaWidgets.controlConstructors[%1$s].prototype.mime_type=%2$s;wp.mediaWidgets.controlConstructors[%1$s].prototype.l10n=_.extend({},wp.mediaWidgets.controlConstrustors[%1',%3$s);',wp_json_encode($this->id_base),wp_json_encode($this->widget_options['time_type']),wp_json_encode($this->l10n)));}/***呈现表单模板脚本。**@自4.8.0起*/公共函数render_control_template_scripts(){父级::render_control_template_scripts()?><script type=“text/html”id=“tmpl-wp-media-widget-audio-preview”><#if(data.error&&“missing_attachment”===数据错误){#><?php(电话)wp_admin_notice(管理员通知)($this->l10n['missing_attachment'],阵列(“type”=>“error”,“additional_classes”=>数组(“notice-alt”,“notice-missing-attachment”),));?><#}else if(data.error){#><?php(电话)wp_admin_notice(管理员通知)(__('由于未知错误,无法预览媒体。'),阵列(“type”=>“error”,“additional_classes”=>数组(“notice-alt”),));?><#}else if(data.model&&data.model.src){#><?php wp_underscore_audio_template();?><# } #></script><?php(电话)}}

变更日志

版本说明
4.8.0介绍。

用户贡献的笔记

你必须登录在能够发表注释或反馈之前。