wordpress函数wp_register_widget_control()

wp_register_widget_control( int|string $id, string $name, callable $control_callback, array $options = array(), mixed $params )

注册控件控件回调以自定义选项。
Registers widget control callback for customizing options.

 


源码

/**
 * Registers widget control callback for customizing options.
 *
 * The options contains the 'height', 'width', and 'id_base' keys. The 'height'
 * option is never used. The 'width' option is the width of the fully expanded
 * control form, but try hard to use the default width. The 'id_base' is for
 * multi-widgets (widgets which allow multiple instances such as the text
 * widget), an id_base must be provided. The widget id will end up looking like
 * `{$id_base}-{$unique_number}`.
 *
 * @since 2.2.0
 *
 * @todo Document `$options` as a hash notation, re: WP_Widget::__construct() cross-reference.
 * @todo `$params` parameter?
 *
 * @global array $wp_registered_widget_controls
 * @global array $wp_registered_widget_updates
 * @global array $wp_registered_widgets
 * @global array $_wp_deprecated_widgets_callbacks
 *
 * @param int|string   $id               Sidebar ID.
 * @param string       $name             Sidebar display name.
 * @param callback     $control_callback Run when sidebar is displayed.
 * @param array|string $options          Optional. Widget options. See description above. Default empty array.
 */
function wp_register_widget_control( $id, $name, $control_callback, $options = array() ) {
    global $wp_registered_widget_controls, $wp_registered_widget_updates, $wp_registered_widgets, $_wp_deprecated_widgets_callbacks;
 
    $id = strtolower($id);
    $id_base = _get_widget_id_base($id);
 
    if ( empty($control_callback) ) {
        unset($wp_registered_widget_controls[$id]);
        unset($wp_registered_widget_updates[$id_base]);
        return;
    }
 
    if ( in_array($control_callback, $_wp_deprecated_widgets_callbacks, true) && !is_callable($control_callback) ) {
        unset( $wp_registered_widgets[ $id ] );
        return;
    }
 
    if ( isset($wp_registered_widget_controls[$id]) && !did_action( 'widgets_init' ) )
        return;
 
    $defaults = array('width' => 250, 'height' => 200 ); // height is never used
    $options = wp_parse_args($options, $defaults);
    $options['width'] = (int) $options['width'];
    $options['height'] = (int) $options['height'];
 
    $widget = array(
        'name' => $name,
        'id' => $id,
        'callback' => $control_callback,
        'params' => array_slice(func_get_args(), 4)
    );
    $widget = array_merge($widget, $options);
 
    $wp_registered_widget_controls[$id] = $widget;
 
    if ( isset($wp_registered_widget_updates[$id_base]) )
        return;
 
    if ( isset($widget['params'][0]['number']) )
        $widget['params'][0]['number'] = -1;
 
    unset($widget['width'], $widget['height'], $widget['name'], $widget['id']);
    $wp_registered_widget_updates[$id_base] = $widget;
}

 

更新版本 源码位置 使用 被使用
5.3.0 wp-includes/widgets.php 16 9

 

版权声明:原创作品,未经允许不得转载,否则将追究法律责任。
本站资源有的自互联网收集整理,如果侵犯了您的合法权益,请联系本站我们会及时删除。
本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
本文链接:子佩工作室https://zptheme.com/5485.html
许可协议:《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权

本站分为普通会员,SVIP会员,永久会员。
SVIP会员新用户注册即送180天,到期后可邀请好友2位/180天进行无限续期。
永久会员支持微信支付在线开通。

积分是本站通用虚拟货币,可用于文章资源购买。
每天签到,评论或点赞文章,或者投稿都可免费获得积分
新用户注册免费赠送2积分 邀请用户注册2位/2积分

如果您已经成功付款但是网站没有弹出成功提示,请联系售后提供付款信息为您处理

本站资源属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源

需要效果图的,可以联系售后(右侧核保售后,扫码添加或者点击 加入我们-联系客服)。或者微信添加企业微信:子佩工作室

计划书请提供费率条款(现价分红),100起。WP主题一般单个问题30起。主题二开500起,开发新主题3000起。低于1000须全款,其余先支付全款的60%,完成后支付余下的。

资源是指寿险计划书(定制除外),WP主题或插件不包含在永久会员之内!

发表回复