-1

我的wordpress文件不知何故不知道已从我的服务器中删除..然后当我再次上传文件时,它给了我这个错误..

我收到以下错误:

解析错误:语法错误,第 17 行 /home3/nzonesie/public_html/shoppingcart/wp-content/themes/mercor/includes/menu.php 中的意外 $end

这里 menu.php 文件在 pastebin 在线:http: //pastebin.com/iKSFt3VD

请..检查并让我知道..那里出了什么问题..!

4

3 回答 3

1

代码中有注释,因为它都在一行上,所以它被注释掉了其余的代码。修正你的格式。

<?php

// Activate menu function
add_action('init', 'my_custom_menus');

function my_custom_menus() {
    register_nav_menus(array(
        'main-menu' => 'Main Menu',
        'footer-menu' => 'Footer Menu', 'top_menu' => 'Top Menu', 'resp_menu' => 'Responsive Menu'
    ));
}

// Main walker menu

class Walker_Responsive_Menu extends Walker_Nav_Menu {

    function start_lvl(&$output, $depth) {
        $indent = str_repeat("\t", $depth); // don't output children opening tag (`<ul>`)
    }

    function end_lvl(&$output, $depth) {
        $indent = str_repeat("\t", $depth); // don't output children closing tag
    }

    function start_el(&$output, $item, $depth, $args) {
        global $wp_query;
        $item_output = $attributes = $prepend = '';  // Create a visual indent in the list if we have a child item.
        $visual_indent = ( $depth ) ? str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;', $depth) : '';  // Load the item URL
        $attributes .=!empty($item->url) ? ' value="' . esc_attr($item->url) . '"' : '';  // If we have hierarchy for the item, add the indent, if not, leave it out.
// Loop through and output each menu item as this.
        if ($depth != 0) {
            $item_output .= '<option ' . $attributes . '>' . $visual_indent . $item->title . '</option>';
        } else {
            $item_output .= '<option ' . $attributes . '>' . $prepend . $item->title . '</option>';
        }  // Make the output happen.       
        $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
    }

}

class description_walker extends Walker_Nav_Menu {

    function start_el(&$output, $item, $depth, $args) {
        global $wp_query;
        $indent = ( $depth ) ? str_repeat("\t", $depth) : '';
        $class_names = $value = '';
        $classes = empty($item->classes) ? array() : (array) $item->classes;
        $class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item));
        $class_names = ' class="' . esc_attr($class_names) . '"';
        $output .= $indent . '<li id="menu-item-' . $item->ID . '"' . $value . $class_names . '>';
        $attributes = !empty($item->attr_title) ? ' title="' . esc_attr($item->attr_title) . '"' : '';
        $attributes .=!empty($item->target) ? ' target="' . esc_attr($item->target) . '"' : '';
        $attributes .=!empty($item->xfn) ? ' rel="' . esc_attr($item->xfn) . '"' : '';
        $attributes .=!empty($item->url) ? ' href="' . esc_attr($item->url) . '"' : '';
        $prepend = '<strong>';
        $append = '</strong>';
        $description = !empty($item->description) ? '<span>' . esc_attr($item->description) . '</span>' : '';
        if ($depth != 0) {
            $description = $append = $prepend = "";
        } $item_output = $args->before;
        $item_output .= '<a' . $attributes . '>';
        $item_output .= $args->link_before . $prepend . apply_filters('the_title', $item->title, $item->ID) . $append;
        $item_output .= $description . $args->link_after;
        $item_output .= '</a>';
        $item_output .= $args->after;
        $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
    }

}

?>
于 2013-10-15T09:03:53.933 回答
0

看起来您的换行符已被删除。正因为如此,从第 17 行开始的注释// don't output children opening tag实际上会继续贯穿代码的其余部分。您需要添加适当的换行符。

<?php

// Activate menu function
add_action('init', 'my_custom_menus');

function my_custom_menus()
{
    register_nav_menus(array(
        'main-menu' => 'Main Menu',
        'footer-menu' => 'Footer Menu',             
            'top_menu' => 'Top Menu',           
            'resp_menu' => 'Responsive Menu'        
    ));
}

// Main walker menu

class Walker_Responsive_Menu extends Walker_Nav_Menu {    

function start_lvl(&$output, $depth){      

$indent = str_repeat("\t", $depth); 
    // don't output children opening tag (`<ul>`)    
}    function end_lvl(&$output, $depth){      
    $indent = str_repeat("\t", $depth); 
    // don't output children closing tag    
}       

function start_el(&$output, $item, $depth, $args) {     
    global $wp_query;               
    $item_output = $attributes = $prepend ='';      
    // Create a visual indent in the list if we have a child item.      
    $visual_indent = ( $depth ) ? str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;', $depth) : '';      
    // Load the item URL        
    $attributes .= ! empty( $item->url ) ? ' value="'   . esc_attr( $item->url ) .'"' : '';     
    // If we have hierarchy for the item, add the indent, if not, leave it out.     
    // Loop through and output each menu item as this.      

    if($depth != 0) 
    {           
        $item_output .= '<option ' . $attributes .'>'. $visual_indent . $item->title. '</option>';  
    } 
    else 
    {           
        $item_output .= '<option ' . $attributes .'>'.$prepend.$item->title.'</option>';        
    }       

    // Make the output happen.      
    $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); }}

    class description_walker extends Walker_Nav_Menu{      
        function start_el(&$output, $item, $depth, $args)      
        {           
            global $wp_query;           
            $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';           
            $class_names = $value = '';           
            $classes = empty( $item->classes ) ? array() : (array) $item->classes;           
            $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );           $class_names = ' class="'. esc_attr( $class_names ) . '"';  
            $output .= $indent . '<li id="menu-item-'. $item->ID . '"' . $value . $class_names .'>';           
            $attributes  = ! empty( $item->attr_title ) ? ' title="'  . esc_attr( $item->attr_title ) .'"' : '';           
            $attributes .= ! empty( $item->target )     ? ' target="' . esc_attr( $item->target     ) .'"' : '';          
            $attributes .= ! empty( $item->xfn )        ? ' rel="'    . esc_attr( $item->xfn        ) .'"' : '';           
            $attributes .= ! empty( $item->url )        ? ' href="'   . esc_attr( $item->url        ) .'"' : '';           
            $prepend = '<strong>';           
            $append = '</strong>';           
            $description  = ! empty( $item->description ) ? '<span>'.esc_attr( $item->description ).'</span>' : '';           

            if($depth != 0)           
            {                     
                $description = $append = $prepend = "";           
            }            
                $item_output = $args->before;            
                $item_output .= '<a'. $attributes .'>';            
                $item_output .= $args->link_before .$prepend.apply_filters( 'the_title', $item->title, $item->ID ).$append;            
                $item_output .= $description.$args->link_after;            
                $item_output .= '</a>';            
                $item_output .= $args->after;            
                $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );            
        }
    }   
?>
于 2013-10-15T09:04:10.180 回答
0

如果您粘贴的代码当前正在运行,

这是代码格式的问题。 // don't output children opening tag () 正在注释掉您的其余代码请格式正确。

于 2013-10-15T09:04:42.043 回答