Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

[PHP] Fout in syntax?

5 antwoorden
  • Hallo, Ik ben een thema voor Wordpress aan het maken en loop tijdens het maken van het Single.php en Page.php bestand aan tegen een fout. Wordpress geeft deze error : Parse error: syntax error, unexpected $end in /home/pieteoz3/domains/isearchfulledition.com/public_html/development/IFEInterface4/wp-content/themes/Too-Simple-Build-1026/single.php on line 20 Als ik in mijn code kijk met aptana studio geeft deze een fout aan bij de laatste lijn. Deze fout verdwijnt echter wanneer ik deze lijn verwijder: <?php if (have_posts()) : while (have_posts()) : the_post(); ?> Nu is die lijn wel nodig om de hele boel aan het werken te krijgen. Is er iemand die een oplossing heeft? Dit is mijn volledige code van Single.php: [code:1:87ef9abeab] <?php get_header(); ?> <div id="main"> <div id="content"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div id="post"> <h1 id="posttitle"><?php the_title(); ?></h1> <p><?php the_content(''); ?></p> <?php get_sidebar(); ?> </div> </div> <div id="delimiter"></div> <?php get_footer(); ?> [/code:1:87ef9abeab]
  • De constructie die je probeert te gebruiken heet een [url=http://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary]ternary operator[/url] en je huidige syntaxis is inderdaad verkeerd. Het moet zijn: [code:1:1da9db93cf]<?php if (have_posts()) ? while (have_posts()) : the_post(); ?>[/code:1:1da9db93cf]Overigens lijkt het resultaat me nog steeds onzin, maar zonder de context is dat wat lastig te zeggen. - Bas
  • Het probleem is dat je de Wordpress loop niet afsluit. Met de betreffende regel open je hem, maar je sluit hem niet meer af. Een complete loop ziet er b.v. zo uit: [code:1:97630ec7ac]<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php the_content('Lees verder...'); ?> </div><!-- #post-## --> <?php edit_post_link('Aanpassen', '<p class="postmetadata">', '</p>'); ?> <?php endwhile; else: ?> <p><?php _e('Sorry, er kon niets worden gevonden.'); ?></p> <?php endif; ?>[/code:1:97630ec7ac] Het zit 'm dus in die [code:1:97630ec7ac]<?php endwhile; else: ?>[/code:1:97630ec7ac] en [code:1:97630ec7ac]<?php endif; ?>[/code:1:97630ec7ac] Die bij jou ontbreken
  • Mijn reactie mag je negeren, blijkbaar kent PHP ook een [url=http://php.net/manual/en/control-structures.alternative-syntax.php]alternative syntax for control structures[/url] waar ik het bestaan niet van af wist. Ik vermoed dat het antwoord van Gooly de juiste is. - Bas
  • Klopt. Ideaal vind ik het niet bepaald, maar het is hoe Wordpress werkt. Meer informatie over de Wordpress loop is overigens hier te vinden: http://codex.wordpress.org/The_Loop

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.