Fehlermeldung Cannot redeclare get_subcategory_terms()
-
Ich habe gerade an der functions.php rumgespielt, da ich Kategorien in meinem Shop (WooCommerce) ausblenden wollte. Wenn ich jetzt auf Datei aktualisieren klicke kommt diese Fehlermeldung:
Fatal error: Cannot redeclare get_subcategory_terms() (previously declared in /www/htdocs/w0137581/rosengarten2005.de/wordpress/wp-content/themes/retrotale/functions.php:414) in /www/htdocs/w0137581/rosengarten2005.de/wordpress/wp-content/themes/retrotale/functions.php on line 448
Meiner Meinung nach habe ich aber gar keine 448 Zeilen?
Hier ist meine functions.php :<?php /** * RetroTale functions and definitions. * @package RetroTale * @since RetroTale 1.0.0 */ /** * RetroTale theme variables. * */ $retrotale_themename = "RetroTale"; //Theme Name $retrotale_themever = "1.1.1"; //Theme version $retrotale_shortname = "retrotale"; //Shortname $retrotale_manualurl = get_template_directory_uri() . '/docs/documentation.html'; //Manual Url // Set path to RetroTale Framework and theme specific functions $retrotale_be_path = get_template_directory() . '/functions/be/'; //BackEnd Path $retrotale_fe_path = get_template_directory() . '/functions/fe/'; //FrontEnd Path $retrotale_be_pathimages = get_template_directory_uri() . '/functions/be/images'; //BackEnd Path $retrotale_fe_pathimages = get_template_directory_uri() . ''; //FrontEnd Path //Include Framework [BE] require_once ($retrotale_be_path . 'fw-options.php'); // Framework Init // Include Theme specific functionality [FE] require_once ($retrotale_fe_path . 'headerdata.php'); // Include css and js require_once ($retrotale_fe_path . 'library.php'); // Include library, functions /** * RetroTale theme basic setup. * */ function retrotale_setup() { // Makes RetroTale available for translation. load_theme_textdomain( 'retrotale', get_template_directory() . '/languages' ); // This theme styles the visual editor to resemble the theme style. $retrotale_font_url = add_query_arg( 'family', 'Lobster', "//fonts.googleapis.com/css" ); add_editor_style( array( 'editor-style.css', $retrotale_font_url ) ); // Adds RSS feed links to <head> for posts and comments. add_theme_support( 'automatic-feed-links' ); // This theme supports custom background color and image. $defaults = array( 'default-color' => '', 'default-image' => get_template_directory_uri() . '/images/pattern.png', 'wp-head-callback' => '_custom_background_cb', 'admin-head-callback' => '', 'admin-preview-callback' => '' ); add_theme_support( 'custom-background', $defaults ); // This theme supports post thumbnails. add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 1170, 9999 ); // This theme supports a custom header image. $args = array( 'width' => 2000, 'height' => 400, 'flex-width' => true, 'flex-height' => true, 'header-text' => false, 'random-default' => true,); add_theme_support( 'custom-header', $args ); // This theme supports Post formats. add_theme_support( 'post-formats', array( 'aside', 'audio', 'image', 'status', 'video' ) ); // This theme supports the Title Tag feature. add_theme_support( 'title-tag' ); // This theme supports the WooCommerce plugin. add_theme_support( 'woocommerce' ); global $content_width; if ( ! isset( $content_width ) ) { $content_width = 734; } } add_action( 'after_setup_theme', 'retrotale_setup' ); /** * Enqueues scripts and styles for front-end. * */ function retrotale_scripts_styles() { global $wp_styles, $wp_scripts, $retrotale_options_db; // Adds JavaScript if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) wp_enqueue_script( 'comment-reply' ); if ( $retrotale_options_db['retrotale_post_entry_format'] == 'Grid - Masonry' ) { if ( is_home() || is_archive() || is_search() ) { wp_enqueue_script( 'jquery-masonry' ); if ( !is_rtl() ) { wp_enqueue_script( 'retrotale-masonry-settings', get_template_directory_uri() . '/js/masonry-settings.js', array(), '1.0', true ); } else { wp_enqueue_script( 'retrotale-masonry-settings-rtl', get_template_directory_uri() . '/js/masonry-settings-rtl.js', array(), '1.0', true ); }}} wp_enqueue_script( 'retrotale-placeholders', get_template_directory_uri() . '/js/placeholders.js', array( 'jquery' ), '2.0.8', true ); if ( $retrotale_options_db['retrotale_display_scroll_top'] != 'Hide' ) { wp_enqueue_script( 'retrotale-scroll-to-top', get_template_directory_uri() . '/js/scroll-to-top.js', array( 'jquery' ), '1.0', true ); } if ( $retrotale_options_db['retrotale_fixed_menu'] != 'Disable' && !is_page_template('template-landing-page.php') ) { wp_enqueue_script( 'retrotale-menubox', get_template_directory_uri() . '/js/menubox.js', array(), '1.0', true ); } wp_enqueue_script( 'retrotale-selectnav', get_template_directory_uri() . '/js/selectnav.js', array(), '0.1', true ); wp_enqueue_script( 'retrotale-responsive', get_template_directory_uri() . '/js/responsive.js', array(), '1.0', true ); wp_enqueue_script( 'retrotale-html5-ie', get_template_directory_uri() . '/js/html5.min.js', array(), '3.7.2', false ); $wp_scripts->add_data( 'retrotale-html5-ie', 'conditional', 'lt IE 9' ); // Adds CSS wp_enqueue_style( 'retrotale-elegantfont', get_template_directory_uri() . '/css/elegantfont.css' ); wp_enqueue_style( 'retrotale-google-font-default', '//fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext' ); if ( class_exists( 'woocommerce' ) ) { wp_enqueue_style( 'retrotale-woocommerce-custom', get_template_directory_uri() . '/css/woocommerce-custom.css' ); } } add_action( 'wp_enqueue_scripts', 'retrotale_scripts_styles' ); /** * Backwards compatibility for older WordPress versions which do not support the Title Tag feature. * */ if ( ! function_exists( '_wp_render_title_tag' ) ) { function retrotale_wp_title( $title, $sep ) { if ( is_feed() ) return $title; $title .= get_bloginfo( 'name' ); $site_description = get_bloginfo( 'description', 'display' ); if ( $site_description && ( is_home() || is_front_page() ) ) $title = "$title $sep $site_description"; return $title; } add_filter( 'wp_title', 'retrotale_wp_title', 10, 2 ); } /** * Register our menu. * */ function retrotale_register_my_menu() { register_nav_menu( 'main-navigation', __( 'Main Header Menu', 'retrotale' ) ); } add_action( 'after_setup_theme', 'retrotale_register_my_menu' ); /** * Register our sidebars and widgetized areas. * */ function retrotale_widgets_init() { register_sidebar( array( 'name' => __( 'Right Sidebar', 'retrotale' ), 'id' => 'sidebar-1', 'description' => __( 'Right sidebar which appears on all posts and pages.', 'retrotale' ), 'before_widget' => '<div id="%1$s" class="sidebar-widget %2$s">', 'after_widget' => '</div>', 'before_title' => ' <p class="sidebar-headline">', 'after_title' => '</p>', ) ); register_sidebar( array( 'name' => __( 'Footer left widget area', 'retrotale' ), 'id' => 'sidebar-2', 'description' => __( 'Left column with widgets in footer.', 'retrotale' ), 'before_widget' => '<div id="%1$s" class="footer-widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<p class="footer-headline">', 'after_title' => '</p>', ) ); register_sidebar( array( 'name' => __( 'Footer middle widget area', 'retrotale' ), 'id' => 'sidebar-3', 'description' => __( 'Middle column with widgets in footer.', 'retrotale' ), 'before_widget' => '<div id="%1$s" class="footer-widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<p class="footer-headline">', 'after_title' => '</p>', ) ); register_sidebar( array( 'name' => __( 'Footer right widget area', 'retrotale' ), 'id' => 'sidebar-4', 'description' => __( 'Right column with widgets in footer.', 'retrotale' ), 'before_widget' => '<div id="%1$s" class="footer-widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<p class="footer-headline">', 'after_title' => '</p>', ) ); register_sidebar( array( 'name' => __( 'Footer notices', 'retrotale' ), 'id' => 'sidebar-5', 'description' => __( 'The line for copyright and other notices below the footer widget areas. Insert here one Text widget. The "Title" field at this widget should stay empty.', 'retrotale' ), 'before_widget' => '<div class="footer-signature"><div class="footer-signature-content">', 'after_widget' => '</div></div>', 'before_title' => '', 'after_title' => '', ) ); } add_action( 'widgets_init', 'retrotale_widgets_init' ); /** * Post excerpt settings. * */ function retrotale_custom_excerpt_length( $length ) { global $retrotale_options_db; if ($retrotale_options_db['retrotale_excerpt_length'] != '') { return $retrotale_options_db['retrotale_excerpt_length']; } else { return 40; } } add_filter( 'excerpt_length', 'retrotale_custom_excerpt_length', 20 ); function retrotale_new_excerpt_more( $more ) { global $post; return '...<br /><a class="read-more-button" href="'. esc_url( get_permalink($post->ID) ) . '">' . __( 'Read more', 'retrotale' ) . '</a>';} add_filter( 'excerpt_more', 'retrotale_new_excerpt_more' ); if ( ! function_exists( 'retrotale_content_nav' ) ) : /** * Displays navigation to next/previous pages when applicable. * */ function retrotale_content_nav( $html_id ) { global $wp_query; $html_id = esc_attr( $html_id ); if ( $wp_query->max_num_pages > 1 ) : ?> <div id="<?php echo $html_id; ?>" class="navigation" role="navigation"> <div class="navigation-inner"> <h2 class="navigation-headline section-heading"><?php _e( 'Post navigation', 'retrotale' ); ?></h2> <div class="nav-wrapper"> <p class="navigation-links"> <?php $big = 999999999; echo paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'prev_text' => __( '← Previous', 'retrotale' ), 'next_text' => __( 'Next →', 'retrotale' ), 'total' => $wp_query->max_num_pages, 'add_args' => false ) ); ?> </p> </div> </div> </div> <?php endif; } endif; /** * Displays navigation to next/previous posts on single posts pages. * */ function retrotale_prev_next($nav_id) { ?> <?php $retrotale_previous_post = get_adjacent_post( false, "", true ); $retrotale_next_post = get_adjacent_post( false, "", false ); ?> <div id="<?php echo $nav_id; ?>" class="navigation" role="navigation"> <div class="nav-wrapper"> <?php if ( !empty($retrotale_previous_post) ) { ?> <p class="nav-previous"><a href="<?php echo esc_url(get_permalink($retrotale_previous_post->ID)); ?>" title="<?php echo esc_attr($retrotale_previous_post->post_title); ?>"><?php _e( '← Previous post', 'retrotale' ); ?></a></p> <?php } if ( !empty($retrotale_next_post) ) { ?> <p class="nav-next"><a href="<?php echo esc_url(get_permalink($retrotale_next_post->ID)); ?>" title="<?php echo esc_attr($retrotale_next_post->post_title); ?>"><?php _e( 'Next post →', 'retrotale' ); ?></a></p> <?php } ?> </div> </div> <?php } if ( ! function_exists( 'retrotale_comment' ) ) : /** * Template for comments and pingbacks. * */ function retrotale_comment( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; switch ( $comment->comment_type ) : case 'pingback' : case 'trackback' : ?> <li <?php comment_class(); ?> id="comment-<?php comment_ID(); ?>"> <p><?php _e( 'Pingback:', 'retrotale' ); ?> <?php comment_author_link(); ?> <?php edit_comment_link( __( '(Edit)', 'retrotale' ), '<span class="edit-link">', '</span>' ); ?></p> <?php break; default : global $post; ?> <li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>"> <div id="comment-<?php comment_ID(); ?>" class="comment"> <div class="comment-meta comment-author vcard"> <?php echo get_avatar( $comment, 44 ); printf( '<span><b class="fn">%1$s</b> %2$s</span>', get_comment_author_link(), ( $comment->user_id === $post->post_author ) ? '<span>' . __( '(Post author)', 'retrotale' ) . '</span>' : '' ); printf( '<time datetime="%2$s">%3$s</time>', esc_url( get_comment_link( $comment->comment_ID ) ), get_comment_time( 'c' ), // translators: 1: date, 2: time sprintf( __( '%1$s at %2$s', 'retrotale' ), get_comment_date(''), get_comment_time() ) ); ?> </div><!-- .comment-meta --> <?php if ( '0' == $comment->comment_approved ) : ?> <p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'retrotale' ); ?></p> <?php endif; ?> <div class="comment-content comment"> <?php comment_text(); ?> <div class="reply"> <?php comment_reply_link( array_merge( $args, array( 'reply_text' => __( 'Reply', 'retrotale' ), 'after' => ' <span>↓</span>', 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?> </div><!-- .reply --> <?php edit_comment_link( __( 'Edit', 'retrotale' ), '<p class="edit-link">', '</p>' ); ?> </div><!-- .comment-content --> </div><!-- #comment-## --> <?php break; endswitch; } endif; /** * Function for adding custom classes to the menu objects. * */ add_filter( 'wp_nav_menu_objects', 'retrotale_filter_menu_class', 10, 2 ); function retrotale_filter_menu_class( $objects, $args ) { $ids = array(); $parent_ids = array(); $top_ids = array(); foreach ( $objects as $i => $object ) { if ( 0 == $object->menu_item_parent ) { $top_ids[$i] = $object; continue; } if ( ! in_array( $object->menu_item_parent, $ids ) ) { $objects[$i]->classes[] = 'first-menu-item'; $ids[] = $object->menu_item_parent; } if ( in_array( 'first-menu-item', $object->classes ) ) continue; $parent_ids[$i] = $object->menu_item_parent; } $sanitized_parent_ids = array_unique( array_reverse( $parent_ids, true ) ); foreach ( $sanitized_parent_ids as $i => $id ) $objects[$i]->classes[] = 'last-menu-item'; return $objects; } /** * Function for rendering CSS3 features in IE. * */ add_filter( 'wp_head' , 'retrotale_pie' ); function retrotale_pie() { ?> <!--[if IE]> <style type="text/css" media="screen"> #container-shadow, .menu-box-wrapper, .top-navigation-wrapper { behavior: url("<?php echo get_template_directory_uri() . '/css/pie/PIE.php'; ?>"); zoom: 1; } </style> <![endif]--> <?php } /** * Include the TGM_Plugin_Activation class. * */ if ( current_user_can ( 'install_plugins' ) ) { require_once get_template_directory() . '/class-tgm-plugin-activation.php'; add_action( 'retrotale_register', 'retrotale_my_theme_register_required_plugins' ); function retrotale_my_theme_register_required_plugins() { $plugins = array( array( 'name' => 'Breadcrumb NavXT', 'slug' => 'breadcrumb-navxt', 'required' => false, ), array( 'name' => 'The Events Calendar', 'slug' => 'the-events-calendar', 'required' => false, ), ); $config = array( 'domain' => 'retrotale', 'menu' => 'install-my-theme-plugins', 'strings' => array( 'page_title' => __( 'Install Recommended Plugins', 'retrotale' ), 'menu_title' => __( 'Install Plugins', 'retrotale' ), 'instructions_install' => __( 'The %1$s plugin is required for this theme. Click on the big blue button below to install and activate %1$s.', 'retrotale' ), 'instructions_activate' => __( 'The %1$s is installed but currently inactive. Please go to the <a href="%2$s">plugin administration page</a> page to activate it.', 'retrotale' ), 'button' => __( 'Install %s Now', 'retrotale' ), 'installing' => __( 'Installing Plugin: %s', 'retrotale' ), 'oops' => __( 'Something went wrong with the plugin API.', 'retrotale' ), // */ 'notice_can_install' => __( 'This theme requires the %1$s plugin. <a href="%2$s"><strong>Click here to begin the installation process</strong></a>. You may be asked for FTP credentials based on your server setup.', 'retrotale' ), 'notice_cannot_install' => __( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'retrotale' ), 'notice_can_activate' => __( 'This theme requires the %1$s plugin. That plugin is currently inactive, so please go to the <a href="%2$s">plugin administration page</a> to activate it.', 'retrotale' ), 'notice_cannot_activate' => __( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'retrotale' ), 'return' => __( 'Return to Recommended Plugins Installer', 'retrotale' ), ), ); retrotale_tgmpa( $plugins, $config ); }} } ?>
Ich bitte um schnelle Hilfe!
Marc-Sebastian
Ansicht von 1 Antwort (von insgesamt 1)
Ansicht von 1 Antwort (von insgesamt 1)
- Das Thema „Fehlermeldung Cannot redeclare get_subcategory_terms()“ ist für neue Antworten geschlossen.