Home > Article > Backend Development > Make the theme support widgets and add plug-in enabling functions in WordPress, _PHP tutorial
Enable the theme to support gadgets
The widget of WordPress is a major feature, which allows users to drag and combine content freely, and any plug-in and theme can add an additional widget to increase scalability.
By default, a theme does not support widgets. The theme developer needs to enable the widget function and call the widget in the corresponding foreground location, so that users can directly drag and generate sidebars in the background.
This article will teach you how to activate the widget function, add a sidebar, and finally display it in the foreground.
Register Sidebar
By default, there is no "Widget" menu button in the background appearance. If you want it to appear, you need to register at least a sidebar, otherwise even if it is displayed, it will be useless.
To register a sidebar, you need to use the register_sidebar() function. The usage is relatively simple. There is only one attribute. Just fill in the required information.
register_sidebar( array( 'name' => __( '默认侧边栏', 'Bing' ),//侧边的名字 'id' => 'widget_default',//侧边栏的 ID,注册多个侧边栏的时候不要重复 'description' => __( '侧边栏的描述', 'Bing' ),//侧边栏的描述,会在后台显示 'before_widget' => '<div class="widget %2$s">',//侧边栏里的小工具的开头代码,可以在里边使用 %2$s 来调用小工具的 ID,实现给每个小工具添加不同的样式 'after_widget' => '</div>',//侧边栏里的小工具的结尾代码 'before_title' => '<h3 class="widget-title">',//侧边栏里的小工具的标题的开头代码 'after_title' => '</h3>'//侧边栏里的小工具的标题的结尾代码 ) );
Using the example code above, you can create a sidebar, and the "Widget" button will also be displayed under the appearance.
In this sidebar, users can freely add widgets. Copy the code and you can create more sidebars.
Calling the sidebar
Registration alone is meaningless. After the user adds it, the gadget must be displayed in the foreground. This uses the dynamic_sidebar() function.
Generally, we need to first determine whether a gadget has been added to the gadget area. If so, the gadget will be displayed, otherwise the user will be prompted to add a gadget. To determine whether a widget has been added to the sidebar, you need to use the is_active_sidebar() function.
<?php if( is_active_sidebar( 'widget_default' ) ){ echo '<aside id="sidebar">'; dynamic_sidebar( 'widget_default' ); echo '</aside>'; }else{ echo '<p>请设置小工具</p>'; } ?>
It’s very simple. After calling it, the front-end gadgets will output one by one according to the format given during registration.
Add plugin enable function
register_activation_hook() allows you to add a function that will be executed when the specified plug-in is enabled. It is generally used for plug-in development.
Usage
register_activation_hook( $file, $function );
Parameters
$file
(String) (Required) The main file path of the plug-in that needs to execute functions when enabled. If it is the current plug-in, just write __FILE__ directly.
$function
(callback function) (required) Function to be executed.
Example
function Bing_myplugin_activate(){ global $wpdb; $wpdb->query( '' );//创建一些数据表 } register_activation_hook( __FILE__, 'Bing_myplugin_activate' );
Others
This function is located at: wp-includes/plugin.php