WP_Widget_Pages{}

用于实现Pages小部件的核心类。

描述

另请参阅

方法

姓名描述
WP_Widget_Pages:__构造设置新的Pages小部件实例。
WP_Widget_Pages::表单输出页面小部件的设置表单。
WP_Widget_Pages::更新处理当前Pages小部件实例的更新设置。
WP_Widget_Pages::小部件输出当前页面小部件实例的内容。

来源

类WP_Widget_Pages扩展了WP_Widlet{/***设置新的Pages小部件实例。**@自2.8.0起*/公共函数__construct(){$widget_ops=数组(“classname”=>“widget_pages”,“description”=>__(“您的站点页面列表”),“customize_selective_refresh”=>true,“show_instance_in_rest”=>true,);parent::__construct('pages',__('pages'),$widget_ops);}/***输出当前页面小部件实例的内容。**@自2.8.0起**@param array$args显示参数,包括“before_title”、“after_title”、,*'before_widget'和'after_widget]。*当前Pages小部件实例的@param array$instance设置。*/公共功能小部件($args,$instance){$default_title=__(“页面”);$title=!空($instance['title'])$实例[“标题”]:$default_title;/***过滤小部件标题。**@自2.6.0起**@param string$title小部件标题。默认“页面”。*@param array$instance当前小部件的设置数组。*@param混合了$id_base小部件id。*/$title=应用过滤器('widget_title',$title,$instance,$this->id_base);$sortby=空($instance['sortby'])?'菜单顺序':$instance['sortby'];$exclude=空($instance['exclude'])?“”:$实例['exclude'];if('menu_order'===$sortby){$sortby='menu_order,post_title';}$output=wp_list_pages(/***过滤页面小部件的参数。**@自2.8.0起*@since 4.9.0添加了`$instance`参数。**@参见wp_list_pages()**@param array$args检索页面列表的参数数组。*@param array$instance当前小部件的设置数组。*/应用筛选器(“widget_pages_args”,阵列('title_li'=>'',“echo”=>0,“sort_column”=>$sortby,“exclude”=>$excluded,),$实例));if(!空($output)){echo$args[“小部件之前”];if($title){echo$args[“标题之前”]$标题$args['after_title'];}$format=current_theme_supports('html5','navigation-widgets')?'html5':'xhtml';/**该过滤器记录在wp-includes/widgets/class-wp-nav-menu-widget.php中*/$format=apply_filters('navigation_widgets_format',$format);if('html5'===$format){//标题可能会被过滤:去掉HTML并确保aria-label永远不为空。$title=修剪(strip_tags($title));$aria_label=$title$标题:$default_title;echo'<nav aria-label=“'.esc_attr($aria_label).'”>';}?><ul><?php echo$output;?></ul><?php(电话)if('html5'===$format){echo“</nav>”;}echo$args['after_widget'];}}/***处理当前Pages小部件实例的更新设置。**@自2.8.0起**@param array$new_instance用户通过输入此实例的新设置*WP_Widget::form()。*@param array$old_instance此实例的旧设置。*@return array更新了要保存的设置。*/公共函数更新($new_instance,$old_instance){$instance=$old_instance;$instance['title']=清理文本字段($new_instance['标题']);if(in_array($new_instance['sortby'],数组('post_title','menu_order','ID'),true)){$instance['sortby']=$new_instance['sortby'];}其他{$instance['sortby']='menu_order';}$instance['exclude']=清理文本字段($new_instance['排除']);return$instance;}/***输出页面小部件的设置表单。**@自2.8.0起**@param array$instance当前设置。*/公共函数窗体($instance){//默认值。$instance=wp_parse_args((数组)$实例,阵列(“sortby”=>“post_title”,“标题”=>“”,“排除”=>“”,));?><p><label for=“<?php echo esc_attr($this->get_field_id('title'));?>”><?php_e('标题:');?></标签><input class=“widefat”id=“<?php echo esc_attr($this->get_field_id('title'));?>”name=“<?hp echo esc_atter($thix->get_feld_name('titel')));”>“type=”text“value=”<?php-echo osc_attr($instance['title']);?>>“/></p><p><label for=“<?php echo esc_attr($this->get_field_id('sortby'));?>”><?php_e('排序依据:');?></标签><select name=“<?php echo esc_attr($this->get_field_name('排序'));?>”id=“<选项值=“post_title”<?php选中($instance['sortby'],'post_title');?>><?php_e(“页面标题”);?></选项><option value=“menu_order”<?php选中($instance['sortby'],'menu_order');?>><?php_e('页面顺序');?></选项><选项值=“ID”<?php选中($instance['sortby'],'ID');?>><?php_e(“页面ID”);?></选项></选择></p><p><label for=“<?php echo esc_attr($this->get_field_id('exclude'));?>”><?php_e('排除:');?></标签><input type=“text”value=“<?php echo esc_attr($instance['exclude']);?>”name=“<?php echo esc_attr($this->get_field_name('exclude'));?>”id=“<?php echo esc_attr($this->get_field_id('exclude'));?>”class=“widefat”/><br/><小><?php_e('页面ID,用逗号分隔');?></小></p><?php(电话)}}

变更日志

版本描述
2.8.0介绍。

用户贡献的笔记

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