Ondersteuning » Code oplossingen gezocht » functions.php ellende!!

7 reacties aan het bekijken - 1 tot 7 (van in totaal 7)
  • Er gaat iets niet goed met je bericht.

    Thread starter NormanBetzold

    (@normanbetzold)

    Ik merk het…. Zucht…

    Dan vanwege het tijdstip maar even een korte versie van het oorspronkelijke.

    Ik ben voor een klant bezig wat aanpassingen te maken in de standaard wordpress layout. “twentyeleven” Mijn klant heeft een vrij simpele NL/ENG opzet zonder al teveel poespas. De NL versie is al aangepast door mijn voorganger en deze aanpassingen tracht ik nu door te voeren naar de ENG versie. (aanpassingen houden in dat de post-author-date ongein uit het ENG gedeelte verwijderd moet worden.

    Ik dus vrolijk in functions.php aan de rommel om de functie “twentyeleven_posted_on” er uit te slopen. Voor de zekerheid maak ik een copy van de originele code voor het geval er iets fout gaat. Waarna ik de functie verwijder. Zoals te verwachten gaat het dus mis en krijg ik de foutmelding zoals te zien na de klik: Klik

    Probeer ik vervolgens de originele code (inclusief de te verwijderen functie) terug te zetten, en weer mis. foutmelding blijft.
    Na het nodige gerommel en probeersels ben ik inmiddels geneigd te stellen dat het fout gaat bij het updaten van het functions.php bestand.

    Die foutmelding zegt eigenlijk letterlijk wat er fout is al kan het vrij technisch overkomen.

    Maar wat er in Jip en Janneke taal staat is dat je een typefout hebt gemaakt op regel 589 in de functions.php

    Waarschijnlijk heb je de code eruit gesloopt maar niet helemaal perfect, je hebt een ‘)’ laten staan waardoor de PHP codes niet meer valid zijn en breken.

    Dus zoek regel 589 op en kijk of je deze fout kan ontdekken, het kan ook iets er boven of er onderstaan.

    * Kleine tip:
    Als je de ‘ twentyeleven_posted_on ‘ function uit de functions.php sloopt vergeet hem dan ook niet uit alle template files te halen ( single.php , content.php , content-aside.php enz enz )
    Anders breken deze pagina’s straks ook omdat ze deze function niet meer kunnen vinden en zoek je je wezenloos naar de reden waarom.

    Thread starter NormanBetzold

    (@normanbetzold)

    Thx voor de reply zo vroeg in de morgen!

    Dat er ergens een ‘)’ moet zijn blijven hangen welke er niet thuis hoort was me al duidelijk. Ik ben geen fan van php, doe normaliter meer met C# en java dus ik ken wat fouten en opsporing betreft het klappen van de zweep wel.

    Om dus te voorkomen dat dergelijke fouten zouden ontstaan en ook zoals je zelf in je tip aangeeft de mogelijke afhankelijkheid van andere bestanden, heb ik voordat ik aan het sloopwerk begon de volledige originele code gekopieerd zodat bij eventuele ellende de boel makkelijk hersteld kon worden door de volledige originele code terug te kopiëren.

    Onderstaand éérst de originele code;

    if ( ! function_exists( 'twentyeleven_posted_on' ) ) :
    /**
     * Prints HTML with meta information for the current post-date/time and author.
     * Create your own twentyeleven_posted_on to override in a child theme
     *
     * @since Twenty Eleven 1.0
     */
    function twentyeleven_posted_on() {
    	printf( __( '<span class="sep">Posted on </span><a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s" pubdate>%4$s</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="%5$s" title="%6$s" rel="author">%7$s</a></span></span>', 'twentyeleven' ),
    		esc_url( get_permalink() ),
    		esc_attr( get_the_time() ),
    		esc_attr( get_the_date( 'c' ) ),
    		esc_html( get_the_date() ),
    		esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
    		esc_attr( sprintf( __( 'View all posts by %s', 'twentyeleven' ), get_the_author() ) ),
    		get_the_author()
    	);
    }
    endif;

    Hieronder de “foutieve” code

    if ( ! function_exists( 'twentyeleven_posted_on' ) ) :
    /**
     * Prints HTML with meta information for the current post-date/time and author.
     * Create your own twentyeleven_posted_on to override in a child theme
     *
     * @since Twenty Eleven 1.0
     */
    function twentyeleven_posted_on() {
    	printf( __( '<span class="sep">Posted on </span><a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s" pubdate>%4$s</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="%5$s" title="%6$s" rel="author">%7$s</a></span></span>', 'twentyeleven' ),
    		esc_url( get_permalink() ),
    		esc_attr( get_the_time() ),
    		esc_attr( get_the_date( 'c' ) ),
    		esc_html( get_the_date() ),
    		esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
    		esc_attr( sprintf( __( 'View all posts by %s', 'twentyeleven' ), get_the_author() ) ),
    		get_the_author()
    	);
    }
    endif;

    Ik zie het verschil niet.

    Het is voor interessanter als je lijn 589 posts en wat regels daarvoor en daarna.

    Thread starter NormanBetzold

    (@normanbetzold)

    Hoi Niels, bij deze,

    Regel 589 is de 2e regel boven de ‘endif;’ alles daarboven is de twenty_eleven_posted_on functie.

    Na de endif; krijg je de volgende en laatste functies uit functions.php;

    /**
     * Adds two classes to the array of body classes.
     * The first is if the site has only had one author with published posts.
     * The second is if a singular post being displayed
     *
     * @since Twenty Eleven 1.0
     */
    function twentyeleven_body_classes( $classes ) {
    
    	if ( function_exists( 'is_multi_author' ) && ! is_multi_author() )
    		$classes[] = 'single-author';
    
    	if ( is_singular() && ! is_home() && ! is_page_template( 'showcase.php' ) && ! is_page_template( 'sidebar-page.php' ) )
    		$classes[] = 'singular';
    
    	return $classes;
    }
    add_filter( 'body_class', 'twentyeleven_body_classes' );

    Thread starter NormanBetzold

    (@normanbetzold)

    @ Niels,

    in mijn vorige post heb ik het over de 2e regel boven endif; (dit slaat op de code uit mijn reactie aan shmoo.

7 reacties aan het bekijken - 1 tot 7 (van in totaal 7)
  • Het onderwerp ‘functions.php ellende!!’ is gesloten voor nieuwe reacties.