Php 添加自定义Wordpress小部件会使媒体库崩溃

Php 添加自定义Wordpress小部件会使媒体库崩溃,php,wordpress,widget,advanced-custom-fields,Php,Wordpress,Widget,Advanced Custom Fields,我正在创建一个自定义Wordpress主题,最近媒体库停止工作。我正在使用ACF创建自定义字段,当我想要选择一个图像时,媒体库只会继续加载而不显示任何图像 经过一些调试后,我注意到当删除添加自定义小部件的代码时,一切正常 现在,我的问题是,下面的代码如何影响媒体库的功能 <!-- This widget is created to display some simple business information like a phone number and an address. I

我正在创建一个自定义Wordpress主题,最近媒体库停止工作。我正在使用ACF创建自定义字段,当我想要选择一个图像时,媒体库只会继续加载而不显示任何图像

经过一些调试后,我注意到当删除添加自定义小部件的代码时,一切正常

现在,我的问题是,下面的代码如何影响媒体库的功能

<!-- 

This widget is created to display some simple business information like a phone number and an address.
If supplied the widget will also show icons for social medias such as Facebook, Instagram and Twitter.

 -->
<?php 

class info_widget extends WP_Widget {

    function __construct() {
        parent::__construct(

            // Base ID of your widget
            'info_widget', 

            // Widget name will appear in UI
            __('Information Widget', 'wpb_widget_domain'), 

            // Widget description
            array( 'description' => __('Simple widget to display some business information.', 'wpb_widget_domain' )) 
        );
    }

    // Creating widget front-end
    public function widget($args, $instance) {

        // before and after widget arguments are defined by themes
        echo $args['before_widget'];

        // This is where you run the code and display the output

        $phone = __($instance['phone'], 'wpb_widget_domain' );
        $address = __($instance['address'], 'wpb_widget_domain' );
        $facebook_link = __($instance['facebook_link'], 'wpb_widget_domain' );
        $twitter_link = __($instance['twitter_link'], 'wpb_widget_domain' );
        $youtube_link = __($instance['youtube_link'], 'wpb_widget_domain' );

        ?>

        <style type="text/css">

            .widget_info_widget {
                height: 100%;
                display: flex;
                flex-direction: column;
            }

                .widget_info_widget .wrapper {
                    flex-grow: 1;
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                }

                    .widget_info_widget .wrapper p {
                        margin: 5px;
                    }

                    .widget_info_widget .wrapper a {
                        color: black;
                        text-decoration: none;
                    }

                    .widget_info_widget .wrapper a:hover {
                        text-decoration: underline;
                    }

                    .widget_info_widget .wrapper .icons {
                        margin-top: 20px;
                    }

                        .widget_info_widget .wrapper .icons .social {
                            font-size: 30px;
                            transition: filter 250ms;
                            color: black;
                            margin-left: 5px;
                            margin-right: 5px;
                        }

                        .widget_info_widget .wrapper .icons .social:hover {
                            filter: invert(0.5);
                        }


        </style>

        <center class="wrapper">

            <p class="phone-number"><?php echo $phone; ?></p>
            <p class="address"><a href="https://www.google.se/maps/place/<?php echo $address?>"><?php echo $address; ?></a></p>

            <div class="icons">
                <?php if (!empty($facebook_link)): ?> 
                    <a class="social" href="<?php echo $facebook_link; ?>"><i class="fab fa-facebook"></i></a>
                <?php endif; ?>

                <?php if (!empty($twitter_link)): ?> 
                    <a class="social" href="<?php echo $twitter_link; ?>"><i class="fab fa-twitter-square"></i></a>
                <?php endif; ?>

                <?php if (!empty($youtube_link)): ?> 
                    <a class="social" href="<?php echo $youtube_link; ?>"><i class="fab fa-youtube-square"></i></a>
                <?php endif; ?>
            </div>
        </center>





        <?php
        echo $args['after_widget'];
    }

    // Widget Backend 
    public function form($instance) {

        if (isset($instance['phone'] ) ) {
            $phone = $instance['phone'];
        }
        else {
            $phone = __('070-123 45 67', 'wpb_widget_domain');
        }

        if (isset($instance['address'] ) ) {
            $address = $instance['address'];
        }
        else {
            $address = __('Templateroad 5', 'wpb_widget_domain');
        }

        if (isset($instance['facebook_link'] ) ) {
            $facebook_link = $instance['facebook_link'];
        }
        if (isset($instance['twitter_link'] ) ) {
            $twitter_link = $instance['twitter_link'];
        }
        if (isset($instance['youtube_link'] ) ) {
            $youtube_link = $instance['youtube_link'];
        }

        // Widget admin form
        ?>

            <style type="text/css">
                .widefat {
                    margin-bottom: 10px;
                }
            </style>

            <p>
                <label for="<?php echo $this->get_field_id('phone'); ?>"><?php _e('Phone:'); ?></label> 
                <input class="widefat" id="<?php echo $this->get_field_id('phone'); ?>" name="<?php echo $this->get_field_name('phone'); ?>" type="text" value="<?php echo esc_attr($phone); ?>" />

                <label for="<?php echo $this->get_field_id('address'); ?>"><?php _e('Address:'); ?></label> 
                <input class="widefat" id="<?php echo $this->get_field_id('address'); ?>" name="<?php echo $this->get_field_name('address'); ?>" type="text" value="<?php echo esc_attr($address); ?>" />

                <label for="<?php echo $this->get_field_id('facebook_link'); ?>"><?php _e('Facebook Link (not required):'); ?></label> 
                <input class="widefat" id="<?php echo $this->get_field_id('facebook_link'); ?>" name="<?php echo $this->get_field_name('facebook_link'); ?>" type="text" value="<?php echo esc_attr($facebook_link); ?>" />

                <label for="<?php echo $this->get_field_id('twitter_link'); ?>"><?php _e('Twitter Link (not required):'); ?></label> 
                <input class="widefat" id="<?php echo $this->get_field_id('twitter_link'); ?>" name="<?php echo $this->get_field_name('twitter_link'); ?>" type="text" value="<?php echo esc_attr($twitter_link); ?>" />

                <label for="<?php echo $this->get_field_id('youtube_link'); ?>"><?php _e('Youtube Link (not required):'); ?></label> 
                <input class="widefat" id="<?php echo $this->get_field_id('youtube_link'); ?>" name="<?php echo $this->get_field_name('youtube_link'); ?>" type="text" value="<?php echo esc_attr($youtube_link); ?>" />
            </p>
        <?php 
    }

    // Updating widget replacing old instances with new
    public function update($new_instance, $old_instance) {
        $instance = array();
        $instance['title'] = (!empty($new_instance['title'])) ? strip_tags($new_instance['title']) : '';
        $instance['phone'] = (!empty($new_instance['phone'])) ? strip_tags($new_instance['phone']) : '';
        $instance['address'] = (!empty($new_instance['address'])) ? strip_tags($new_instance['address']) : '';
        $instance['facebook_link'] = (!empty($new_instance['facebook_link'])) ? strip_tags($new_instance['facebook_link']) : '';
        $instance['twitter_link'] = (!empty($new_instance['twitter_link'])) ? strip_tags($new_instance['twitter_link']) : '';
        $instance['youtube_link'] = (!empty($new_instance['youtube_link'])) ? strip_tags($new_instance['youtube_link']) : '';
        return $instance;
    }
}

?>
非常感谢您的帮助,我对Wordpress还比较陌生,所以我可能错过了一些明显的东西,但媒体库停止工作似乎很奇怪。。
还应该注意的是,小部件本身工作正常,无论是后端还是前端

我的意思是你的小部件不是问题所在。在媒体后端屏幕上,不要加载小部件。也许您应该锁定在浏览器的控制台内,或者在javascript上下文中获取错误消息。还可以阅读服务器的错误日志以获取有效的错误消息。没关系,我解决了它,显然是.php文件顶部的注释导致了问题。仅供参考,加载媒体库时没有控制台错误,只是没有加载。不管怎样,它现在起作用了!
// Custom info widget

// Register and load the widget
function load_widget() {
    register_widget('info_widget');
}
add_action('widgets_init', 'load_widget');

include 'widgets/information_widget.php';