Fatal error: Switch statements may only contain one default clause (php7)

Fatal error: Switch statements may only contain one default clause (php7)

我用的是php版本。 7.1.0 现在我有问题

Fatal error: Switch statements may only contain one default clause in /icore.php on line 477

代码如下:

476  case 'html':
477  default:
478  echo $std;
479
480  if ( $desc != '' )
481    echo '<br /><span class="description">' . $desc . '</span>';
482
483  break;

我可以修好吗?

开关的完整代码:

switch ( $type ) {

                case 'heading':
                    echo '</td></tr><tr valign="top"><td colspan="2"><h4>' . $desc . '</h4>';
                    break;

                case 'checkbox':
                    echo '<input class="checkbox' . $field_class . '" type="checkbox" id="' . $id . '" name="' . $shortname_options . '[' . $id . ']' . '" value="1" ' . checked( $options[$id], 1, false ) . ' /> <label for="' . $id . '">' . $desc . '</label>';

                    break;

                case 'select':
                    echo '<select class="select' . $field_class . '" name="' . $shortname_options . '[' . $id . ']' . '">';

                    foreach ( $choices as $value => $label )
                        echo '<option value="' . esc_attr( $value ) . '"' . selected( $options[$id], $value, false ) . '>' . $label . '</option>';

                    echo '</select>';

                    if ( $desc != '' )
                        echo '<br /><span class="description">' . $desc . '</span>';

                    break;

                case 'radio':
                    $i = 0;
                    foreach ( $choices as $value => $label ) {
                        echo '<input class="radio' . $field_class . '" type="radio" name="' . $shortname_options . '[' . $id . ']' . '" id="' . $id . $i . '" value="' . esc_attr( $value ) . '" ' . checked( $options[$id], $value, false ) . '> <label for="' . $id . $i . '">' . $label . '</label>';
                        if ( $i < count( $options ) - 1 )
                            echo '<br />';
                        $i++;
                    }

                    if ( $desc != '' )
                        echo '<br /><span class="description">' . $desc . '</span>';

                    break;

                case 'textarea':
                    echo '<textarea class="' . $field_class . '" id="' . $id . '" name="' . $shortname_options . '[' . $id . ']' . '" placeholder="' . $std . '" rows="5" cols="30">' . wp_htmledit_pre( $options[$id] ) . '</textarea>';

                    if ( $desc != '' )
                        echo '<br /><span class="description">' . $desc . '</span>';

                    break;

                case 'password':
                    echo '<input class="regular-text' . $field_class . '" type="password" id="' . $id . '" name="' . $shortname_options . '[' . $id . ']' . '" value="' . esc_attr( $options[$id] ) . '" />';

                    if ( $desc != '' )
                        echo '<br /><span class="description">' . $desc . '</span>';

                    break;

                case 'text':
                default:
                    echo '<input class="regular-text' . $field_class . '" type="text" id="' . $id . '" name="' . $shortname_options . '[' . $id . ']' . '" placeholder="' . $std . '" value="' . esc_attr( $options[$id] ) . '" />';

                    if ( $desc != '' )
                        echo '<br /><span class="description">' . $desc . '</span>';

                    break;

                case 'html':
                default:
                    echo $std;

                    if ( $desc != '' )
                        echo '<br /><span class="description">' . $desc . '</span>';

                    break;

                case 'upload':
                default:
                   echo '<input id="' . $id . '" class="upload-url' . $field_class . '" type="text" name="' . $shortname_options . '[' . $id . ']' . '" value="' . esc_attr( $options[$id] ) . '" /><input id="st_upload_button" class="st_upload_button" type="button" name="upload_button" value="Upload" />';

                if ( $desc != '' )
                   echo '
                   <span class="description">' . $desc . '</span>';
                echo '<div class="upload-img-preview">';
                if (esc_attr( $options[$id] <> '')) {
                    echo '<img class="upload-img-preview" src='.esc_attr( $options[$id]).' />';
                    echo '<a class="removeupload">'. __('Delete Image', 'icore') .'</a>';
                }
                    echo '</div>';
                    break;

                    case 'slide':
                        if ( $desc != '' )
                            echo '<span class="description' . $field_class . '">' . $desc . '</span>';

                        echo '<br /><span id="slides-details-button"></span>';
                        echo '<ul id="slideshow_list">';

                        if ( $options['slider'] <> '' ) {

                            $slides = array();
                            foreach ($options[$id]['title'] as $k => $v) {
                                $slides[] = array(
                                    'title' => $v,
                                    'link' => $options[$id]['link'][$k],
                                    'caption' => $options[$id]['caption'][$k],
                                    'image' => $options[$id]['image'][$k]
                                );
                            }

                            $i = 1;
                            foreach ($slides as $slide) {
                                echo '<li class="slide">';
                                echo '<a class="editslideimage">edit</a>';
                                echo '<div class="image-details slidedetails">';
                                echo '<span class="description">' . __( 'Slide Title', 'icore' ) . '</span>';
                                echo '<input class="regular-text' . $field_class . '" name="' . $shortname_options . '[' . $id . '][title][]" placeholder="' . $std . '" id="'. $id .'_title_'.$i.'"  value="'.$slide['title'].'" type="text" />';

                                echo '<span class="description">' . __( 'Slide Link', 'icore' ) . '</span>';
                                echo '<input class="regular-text' . $field_class . '" name="' . $shortname_options . '[' . $id . '][link][]" placeholder="' . $std . '" id="'. $id .'_title_'.$i.'"  value="'.$slide['link'].'" type="text" />';

                                echo '<span class="description">' . __( 'Slide Caption', 'icore' ) . '</span>';
                                echo '<textarea class="'.$field_class.'" name="' . $shortname_options . '[' . $id . '][caption][]" id="'. $id .'_caption_'.$i.'" cols="40" rows="4">'.$slide['caption'].'</textarea>';

                                echo '<span class="description">' . __( 'Slide Image', 'icore' ) . '</span>';
                                echo '<input class="upload-input-text src" name="' . $shortname_options . '[' . $id . '][image][]" id="'. $id .'_image_'.$i.'" type="text" value="'.$slide['image'].'" type="text" />
                                <a href="'.get_option('siteurl').'/wp-admin/admin-ajax.php?action=choice&width=150&height=100" id="'.$id.'_button" class="button upbutton">' . __( 'Upload','InterStellar' ) . '</a>';
                                echo '<a class="doneslideimage">Done</a>';
                                echo '</div>';
                                echo '<div class="clear"></div><div class="upload-img-preview">';
                                if ( $slide['image'] != "" )
                                {
                                    echo '<img class="upload-img-preview" id="image_'. $id .'_image_'.$i.'" src="'.$slide['image'].'" />';
                                }
                                echo '</div>';
                                echo '<a class="remove_slide submitdelete">' . __( 'Delete Slide', 'InterStellar' ) . '</a>';
                                echo '</li>';
                                $i++;
                            }

                        } else {
                            $i = 1;
                            echo '<li class="slide">';
                            echo '<span class="description">' . __( 'Slide Title', 'icore' ) . '</span>';
                            echo '<input class="regular-text' . $field_class . '" name="' . $shortname_options . '[' . $id . '][title][]" placeholder="' . $std . '" id="'. $id .'_title_'.$i.'"  value="" type="text" />';

                            echo '<span class="description">' . __( 'Slide Link', 'icore' ) . '</span>';
                            echo '<input class="regular-text' . $field_class . '" name="' . $shortname_options . '[' . $id . '][link][]" placeholder="' . $std . '" id="'. $id .'_title_'.$i.'"  value="" type="text" />';

                            echo '<span class="description">' . __( 'Slide Caption', 'icore' ) . '</span>';
                            echo '<textarea class="'.$field_class.'" name="' . $shortname_options . '[' . $id . '][caption][]" id="'. $id .'_caption_'.$i.'" cols="40" rows="4"></textarea>';

                            echo '<span class="description">' . __( 'Slide Image', 'icore' ) . '</span>';
                            echo '<input class="upload-input-text src" name="' . $shortname_options . '[' . $id . '][image][]" id="'. $id .'_image_'.$i.'" type="text" value="" type="text" />
                            <a href="'.get_option('siteurl').'/wp-admin/admin-ajax.php?action=choice&width=150&height=100" id="'.$id.'_button" class="button upbutton">' . __( 'Upload', 'icore' ) . '</a>';

                            echo '<div class="clear"></div><div class="upload-img-preview">';
                            echo '</div>';
                            echo '<a class="remove_slide submitdelete">' . __( 'Delete Slide','InterStellar' ) . '</a>';
                            echo '</li>';
                        }

                        echo '</ul>';
                        break;

            }
        }

够了吗?

不能在 case 中使用 case 语句。试试这个更正后的代码

switch ( $type ) {

            case 'heading':
                echo '</td></tr><tr valign="top"><td colspan="2"><h4>' . $desc . '</h4>';
                break;

            case 'checkbox':
                echo '<input class="checkbox' . $field_class . '" type="checkbox" id="' . $id . '" name="' . $shortname_options . '[' . $id . ']' . '" value="1" ' . checked( $options[$id], 1, false ) . ' /> <label for="' . $id . '">' . $desc . '</label>';

                break;

            case 'select':
                echo '<select class="select' . $field_class . '" name="' . $shortname_options . '[' . $id . ']' . '">';

                foreach ( $choices as $value => $label )
                    echo '<option value="' . esc_attr( $value ) . '"' . selected( $options[$id], $value, false ) . '>' . $label . '</option>';

                echo '</select>';

                if ( $desc != '' )
                    echo '<br /><span class="description">' . $desc . '</span>';

                break;

            case 'radio':
                $i = 0;
                foreach ( $choices as $value => $label ) {
                    echo '<input class="radio' . $field_class . '" type="radio" name="' . $shortname_options . '[' . $id . ']' . '" id="' . $id . $i . '" value="' . esc_attr( $value ) . '" ' . checked( $options[$id], $value, false ) . '> <label for="' . $id . $i . '">' . $label . '</label>';
                    if ( $i < count( $options ) - 1 )
                        echo '<br />';
                    $i++;
                }

                if ( $desc != '' )
                    echo '<br /><span class="description">' . $desc . '</span>';

                break;

            case 'textarea':
                echo '<textarea class="' . $field_class . '" id="' . $id . '" name="' . $shortname_options . '[' . $id . ']' . '" placeholder="' . $std . '" rows="5" cols="30">' . wp_htmledit_pre( $options[$id] ) . '</textarea>';

                if ( $desc != '' )
                    echo '<br /><span class="description">' . $desc . '</span>';

                break;

            case 'password':
                echo '<input class="regular-text' . $field_class . '" type="password" id="' . $id . '" name="' . $shortname_options . '[' . $id . ']' . '" value="' . esc_attr( $options[$id] ) . '" />';

                if ( $desc != '' )
                    echo '<br /><span class="description">' . $desc . '</span>';

                break;

            case 'text':
                echo '<input class="regular-text' . $field_class . '" type="text" id="' . $id . '" name="' . $shortname_options . '[' . $id . ']' . '" placeholder="' . $std . '" value="' . esc_attr( $options[$id] ) . '" />';

                if ( $desc != '' )
                    echo '<br /><span class="description">' . $desc . '</span>';

                break;

            case 'html':
                echo $std;

                if ( $desc != '' )
                    echo '<br /><span class="description">' . $desc . '</span>';

                break;

            default:
               echo '<input id="' . $id . '" class="upload-url' . $field_class . '" type="text" name="' . $shortname_options . '[' . $id . ']' . '" value="' . esc_attr( $options[$id] ) . '" /><input id="st_upload_button" class="st_upload_button" type="button" name="upload_button" value="Upload" />';

            if ( $desc != '' )
               echo '
               <span class="description">' . $desc . '</span>';
            echo '<div class="upload-img-preview">';
            if (esc_attr( $options[$id] <> '')) {
                echo '<img class="upload-img-preview" src='.esc_attr( $options[$id]).' />';
                echo '<a class="removeupload">'. __('Delete Image', 'icore') .'</a>';
            }
                echo '</div>';
                break;

                case 'slide':
                    if ( $desc != '' )
                        echo '<span class="description' . $field_class . '">' . $desc . '</span>';

                    echo '<br /><span id="slides-details-button"></span>';
                    echo '<ul id="slideshow_list">';

                    if ( $options['slider'] <> '' ) {

                        $slides = array();
                        foreach ($options[$id]['title'] as $k => $v) {
                            $slides[] = array(
                                'title' => $v,
                                'link' => $options[$id]['link'][$k],
                                'caption' => $options[$id]['caption'][$k],
                                'image' => $options[$id]['image'][$k]
                            );
                        }

                        $i = 1;
                        foreach ($slides as $slide) {
                            echo '<li class="slide">';
                            echo '<a class="editslideimage">edit</a>';
                            echo '<div class="image-details slidedetails">';
                            echo '<span class="description">' . __( 'Slide Title', 'icore' ) . '</span>';
                            echo '<input class="regular-text' . $field_class . '" name="' . $shortname_options . '[' . $id . '][title][]" placeholder="' . $std . '" id="'. $id .'_title_'.$i.'"  value="'.$slide['title'].'" type="text" />';

                            echo '<span class="description">' . __( 'Slide Link', 'icore' ) . '</span>';
                            echo '<input class="regular-text' . $field_class . '" name="' . $shortname_options . '[' . $id . '][link][]" placeholder="' . $std . '" id="'. $id .'_title_'.$i.'"  value="'.$slide['link'].'" type="text" />';

                            echo '<span class="description">' . __( 'Slide Caption', 'icore' ) . '</span>';
                            echo '<textarea class="'.$field_class.'" name="' . $shortname_options . '[' . $id . '][caption][]" id="'. $id .'_caption_'.$i.'" cols="40" rows="4">'.$slide['caption'].'</textarea>';

                            echo '<span class="description">' . __( 'Slide Image', 'icore' ) . '</span>';
                            echo '<input class="upload-input-text src" name="' . $shortname_options . '[' . $id . '][image][]" id="'. $id .'_image_'.$i.'" type="text" value="'.$slide['image'].'" type="text" />
                            <a href="'.get_option('siteurl').'/wp-admin/admin-ajax.php?action=choice&width=150&height=100" id="'.$id.'_button" class="button upbutton">' . __( 'Upload','InterStellar' ) . '</a>';
                            echo '<a class="doneslideimage">Done</a>';
                            echo '</div>';
                            echo '<div class="clear"></div><div class="upload-img-preview">';
                            if ( $slide['image'] != "" )
                            {
                                echo '<img class="upload-img-preview" id="image_'. $id .'_image_'.$i.'" src="'.$slide['image'].'" />';
                            }
                            echo '</div>';
                            echo '<a class="remove_slide submitdelete">' . __( 'Delete Slide', 'InterStellar' ) . '</a>';
                            echo '</li>';
                            $i++;
                        }

                    } else {
                        $i = 1;
                        echo '<li class="slide">';
                        echo '<span class="description">' . __( 'Slide Title', 'icore' ) . '</span>';
                        echo '<input class="regular-text' . $field_class . '" name="' . $shortname_options . '[' . $id . '][title][]" placeholder="' . $std . '" id="'. $id .'_title_'.$i.'"  value="" type="text" />';

                        echo '<span class="description">' . __( 'Slide Link', 'icore' ) . '</span>';
                        echo '<input class="regular-text' . $field_class . '" name="' . $shortname_options . '[' . $id . '][link][]" placeholder="' . $std . '" id="'. $id .'_title_'.$i.'"  value="" type="text" />';

                        echo '<span class="description">' . __( 'Slide Caption', 'icore' ) . '</span>';
                        echo '<textarea class="'.$field_class.'" name="' . $shortname_options . '[' . $id . '][caption][]" id="'. $id .'_caption_'.$i.'" cols="40" rows="4"></textarea>';

                        echo '<span class="description">' . __( 'Slide Image', 'icore' ) . '</span>';
                        echo '<input class="upload-input-text src" name="' . $shortname_options . '[' . $id . '][image][]" id="'. $id .'_image_'.$i.'" type="text" value="" type="text" />
                        <a href="'.get_option('siteurl').'/wp-admin/admin-ajax.php?action=choice&width=150&height=100" id="'.$id.'_button" class="button upbutton">' . __( 'Upload', 'icore' ) . '</a>';

                        echo '<div class="clear"></div><div class="upload-img-preview">';
                        echo '</div>';
                        echo '<a class="remove_slide submitdelete">' . __( 'Delete Slide','InterStellar' ) . '</a>';
                        echo '</li>';
                    }

                    echo '</ul>';
                    break;

        }
    }