首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress - WP_Widget :致命错误:未捕获ArgumentCountError:函数WP_Widget::__construct()的参数太少

WordPress - WP_Widget :致命错误:未捕获ArgumentCountError:函数WP_Widget::__construct()的参数太少
EN

Stack Overflow用户
提问于 2021-02-26 16:22:13
回答 2查看 1.4K关注 0票数 1

我是创建自定义wordpress小部件的新手,我正在尝试创建一个。我在wp-content> plugins> custom-widgets> my-custom-widget.php创建了我的小部件。

这是我的代码

代码语言:javascript
复制
if(!class_exists("MyCustomWidget")){
    
    class MyCustomWidget extends WP_Widget{
       
        public function __constructor(){
            parent::WP_Widget(false,"My custom Widget");
        }
      
        public function form($instance){
            ?>
            <p>

            <label>Tilte:</label>
            <input type="text"/>
            
            </p>
            <?php

        }
    }
    
    function register_my_widget(){
        register_widget("MyCustomWidget");
    }
    
    add_action("widgets_init", "register_my_widget");
}

当我试图激活它时,我得到了wordpress的失败页面,特别是下面的内容。怎么啦?

代码语言:javascript
复制
Fatal error: Uncaught ArgumentCountError: Too few arguments to function WP_Widget::__construct(), 0 
passed in F:\Downloads\Worpress\Wordpress Local\apache2\htdocs\store\wordpress\wp-includes\class-wp-
widget-factory.php on line 61 and at least 2 expected in F:\Downloads\Worpress\Wordpress 
Local\apache2\htdocs\store\wordpress\wp-includes\class-wp-widget.php:162 Stack trace: #0 
F:\Downloads\Worpress\Wordpress Local\apache2\htdocs\store\wordpress\wp-includes\class-wp-widget-
factory.php(61): WP_Widget->__construct() #1 F:\Downloads\Worpress\Wordpress 
Local\apache2\htdocs\store\wordpress\wp-includes\widgets.php(115): WP_Widget_Factory->register() #2 
F:\Downloads\Worpress\Wordpress Local\apache2\htdocs\store\wordpress\wp-content\plugins\custom-widget\wp-
custom-widget.php(34): register_widget() #3 F:\Downloads\Worpress\Wordpress 
Local\apache2\htdocs\store\wordpress\wp-includes\class-wp-hook.php(287): register_my_widget() #4 
F:\Downloads\Worpress\Wordpress Local\apache2\htdocs\store\wordpress\wp-includes\class-wp-hook.php(311): 
WP in F:\Downloads\Worpress\Wordpress Local\apache2\htdocs\store\wordpress\wp-includes\class-wp-
widget.php on line 162
EN

回答 2

Stack Overflow用户

发布于 2021-11-25 21:23:24

有关完整的正确小部件示例,请参阅this answer from wordpress.stackexchange.com

这个问题中的代码有几个问题:

在rich的回答中详细描述了父调用应该是对function __construct()的调用,而不是对parent::__construct(..)的调用。例如:parent::__construct('', 'Widget name');

票数 0
EN

Stack Overflow用户

发布于 2021-02-26 19:33:22

在你的构造函数中,你需要传递2个参数...所以就像这样:

代码语言:javascript
复制
public function __constructor(){
    parent::__construct('my_custom_widget',v__('My Custom Widget', 'my_text_domain'));
}

此处为WordPress文档:https://developer.wordpress.org/reference/classes/wp_widget/__construct/

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66382384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档