register_widget()函数是用来注册一个新的小工具。
语法结构
<?php register_widget( $widget_class ) ?>
参数
$widget_class指的是注册小工具的类的 extends WP_Widget
实例
<?php class ProductWidget extends WP_Widget {
public function __construct() {
$widget_pro = array ( //一个数组提供了Widget的一些基本信息
'description' => "设置侧边栏产品"
);
parent::__construct('pic', "近期产品",$widget_pro);
}
// $args中包含了4个值:before_title,after_title,before_widget,after_widget,
分别是要显示在title和widget前后的html。
// $instance是当前Widget的一些属性设置
public function widget( $args, $instance ) {
$url = $instance[ 'depth' ];
$link = $instance[ 'link' ];
$title = $instance['title'];
extract( $args );
echo $before_widget;
?>
<div>
<a href="https://www.xuxiaoke.com/wpfunc/<?php echo $link; ?>"><img src="https://www.xuxiaoke.com/wpfunc/<?php echo $url; ?>" title="<?php echo $title; ?>" alt="<?php echo $title; ?>"></a>
</div>
<?php
}
public function form( $instance ) {
// Output admin widget options form
$defaults = array(
'depth' => '-1'
);
$depth = $instance[ 'depth' ];
$link = $instance[ 'link' ];
$title = $instance['title'];
// markup for form
?>
<p>
<label for="<?php echo $this->get_field_id('title'); ?>">填写图片标题</label>
<input id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" />
</p>
<p>
<label for="<?php echo $this->get_field_id( 'depth' ); ?>">填写图片地址</label>
<input type="text" id="<?php echo $this->get_field_id( 'depth' ); ?>" name="<?php echo $this->get_field_name( 'depth' ); ?>" value="<?php echo esc_attr( $depth ); ?>">
</p>
<p>
<label for="<?php echo $this->get_field_id( 'link' ); ?>">填写图片链接</label>
<input type="text" id="<?php echo $this->get_field_id( 'link' ); ?>" name="<?php echo $this->get_field_name( 'link' ); ?>" value="<?php echo esc_attr( $link ); ?>">
</p>
<?php
}
public function update( $new_instance, $old_instance ) {
// Save widget options
$instance = $old_instance;
$instance[ 'depth' ] = strip_tags( $new_instance[ 'depth' ] );
$instance[ 'link' ] = strip_tags( $new_instance[ 'link' ] );
$instance['title'] = strip_tags($new_instance['title']);
return $instance;
}
}
function register_widgets() {
register_widget( 'ProductWidget' );
}
add_action( 'widgets_init', 'register_widgets' );
unregister_widget()函数用来删除默认的小工具
语法结构
<?php unregister_widget( $widget_class ) ?>
$widget_class指的是一些已WordPress定义的类
实例
function remove_default_widgets() {
unregister_widget('WP_Widget_Pages'); //Pages Widget 页面
unregister_widget('WP_Widget_Calendar'); //Calendar Widget 日历
unregister_widget('WP_Widget_Archives'); //Archives Widget 文章归档
unregister_widget('WP_Widget_Media_Audio '); //Audio Player Media Widget 视频
unregister_widget('WP_Widget_Media_Image '); //Image Media Widget 画廊
unregister_widget('WP_Widget_Media_Video'); //Video Media Widget 音频
unregister_widget('WP_Widget_Meta'); //Meta Widget 功能
unregister_widget('WP_Widget_Search'); //Search Widget 搜索
unregister_widget('WP_Widget_Text'); //Text Widget 文本
unregister_widget('WP_Widget_Categories'); //Categories Widget 分类目录
unregister_widget('WP_Widget_Recent_Posts'); //Recent Posts Widget 近期文章
unregister_widget('WP_Widget_Recent_Comments'); //Recent Comments Widget 近期评论
unregister_widget('WP_Widget_RSS'); //RSS Widget
unregister_widget('WP_Widget_Tag_Cloud'); //Tag Cloud Widget 标签云
unregister_widget('WP_Nav_Menu_Widget'); //Menus Widget 导航菜单
unregister_widget('WP_Widget_Custom_HTML') //Custom HTML Widget 自定义HTML
}
add_action('widgets_init', 'remove_default_widgets'); <br>
文章標題:WordPress常用函数 register_widget()
文章連結:https://www.wuyanshuo.cn/129.html
更新時間:2022年3月22日
1、本站所有資源均不添加推廣檔案或浮水印,壓縮包內若有廣告檔案和浮水印請勿輕易相信。
2、本站資源均為兩層壓縮,第一層7z(尾碼若為wys,請自行修改為7z)有解壓密碼; 第二層zip或cbz,無解壓密碼,可直接使用漫畫類軟件程式查看; 詳情可參攷解壓教程。
3、本站大部分內容均收集於網絡! 若內容侵犯到您的權益,請發送郵件至:admin#wysacg.top我們將第一時間處理! 資源所需價格並非資源售賣價格,是收集、整理、編輯詳情以及本站運營的適當補貼,並且本站不提供任何免費技術支援。 所有資源僅限於參攷和學習,版權歸原作者所有!