让主题支持小工具
WordPress 的小工具(widget)是一大特征,它让用户自在拖动组合内容,而且任何插件和主题都能够增加一个额定的小工具,添加扩大性。
默许状况下,一个主题并不会支持小工具,需求主题**启用小工具性能并把小工具在相应的前台地位调用进去,这样用户能力在后盾间接拖动生成侧边栏。
本文就来教你如何激活小工具性能,并且增加一个侧边栏,最初在前台显示进去。
注册侧边栏
默许的,后盾外观下是没有 “小工具” 这个菜单按钮的,假如想要让他呈现,就至多需求注册一个侧边栏,否则即便显示进去,也没有用。
注册一个侧边栏需求应用 register_sidebar() 函数,用法比拟简略,只有一个属性,填上需求的信息就行了。
register_sidebar( array( 'name' => __( '默许侧边栏', 'Bing' ),//侧边的名字 'id' => 'widget_default',//侧边栏的 ID,注册多个侧边栏的时分不要反复 'description' => __( '侧边栏的形容', 'Bing' ),//侧边栏的形容,会在后盾显示 'before_widget' => '<p class="widget %2$s">',//侧边栏里的小工具的扫尾代码,能够在里边应用 %2$s 来调用小工具的 ID,完成给每个小工具增加不同的款式 'after_widget' => '</p>',//侧边栏里的小工具的结尾代码 'before_title' => '<h3 class="widget-title">',//侧边栏里的小工具的题目的扫尾代码 'after_title' => '</h3>'//侧边栏里的小工具的题目的结尾代码 ) );
运用上边的例子代码,就能创立出一个侧边栏,外观下也显示 “小工具” 按钮了。
在这个侧边栏里,用户就能够自在的增加小工具了。复制代码,还能够创立更多的侧边栏。
调用侧边栏
光注册是没无意义的,用户增加之后,还要把小工具显示在前台才能够,这就用到了 dynamic_sidebar() 函数。
普通状况下,咱们需求先判别一下小工具区域内能否增加了小工具,假如增加了,则显示小工具,否则提醒用户增加小工具。判别侧边栏里能否被增加了小工具需求应用 is_active_sidebar() 函数。
<?php if( is_active_sidebar( 'widget_default' ) ){ echo '<aside id="sidebar">'; dynamic_sidebar( 'widget_default' ); echo '</aside>'; }else{ echo '<p>请设置小工具</p>'; } ?>
十分简略吧,调用好后,前台的小工具就会依照注册时给出的格局一个一个的输入了。
增加插件启用函数
register_activation_hook() 能够让你增加一个函数,这个函数会在指定插件启用时执行,普通用于插件开发。
用法
register_activation_hook( $file, $function );
参数
$file
(字符串)(必需)需求在启用时执行函数的插件的主文件门路,假如是以后插件,间接写 __FILE__ 即可。
$function
(回调函数)(必需)执行的函数。
例子
function Bing_myplugin_activate(){ global $wpdb; $wpdb->query( '' );//创立一些数据表 } register_activation_hook( __FILE__, 'Bing_myplugin_activate' );
其它
此函数位于:wp-includes/plugin.php
以上就是安达网络工作室关于《WordPress中使主题支持小工具以及添加插件启用函数》的一些看法。更多内容请查看本栏目更多内容!
比方本人创立了一个主题,那么需求在后盾增加一些设置选项,所以就触及到了后盾增加顶级菜单的需要: 复制代...
申明2:请尊重作者休息,谴责拷贝后免费的行为。 公布不胜利的请留意反省几点:1. 公布的编码留意应该是utf...
为了放慢收录状况 除了谷歌勤快点 百度也不能落下 复制代码代码如下://文章公布自动ping baidu function pi...
register_nav_menus()(注册菜单) register_nav_menus() 函数用来注册一个菜单,菜单指的是 WordPress 3.0...
要害字形容:特点 次要 WordPress 能够 链接 公布 文章 博客 进行 WordPress 的次要特点。WordPress 有很多...
代码如下:<?php/*在根目录 -> wp-content -> themes 下创立mytheme文件夹用来寄存创立新主题模板 在mythem...