Beklenmeyen $ end [kapalı]

5 Cevap

Ben bir hata almaya devam - Ayrıştırma hatası: sözdizimi hatası, beklenmedik $ end ... hat 75 üzerinde, ama her şey bana güzel görünüyor.

<?php get_header(); ?>
            <div id="content-top">
                <div class="title">
                    <h2>Welcome!</h2>
                </div>
            </div>
            <div id="content">

                <div class="contentbox">
                    <?php get_sidebar(); ?>
                    <?php if (have_posts()) : ?>

                          <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

                                <div class="post" id="post-<?php the_ID(); ?>">
                                    <h2><a href="<?php echo get_permalink($post->post_parent); ?>" rev="attachment"><?php echo get_the_title($post->post_parent); ?></a> &raquo; <?php the_title(); ?></h2>
                                    <div class="entry">
                                        <p class="attachment"><a href="<?php echo wp_get_attachment_url($post->ID); ?>"><?php echo wp_get_attachment_image( $post->ID, 'medium' ); ?></a></p>
                                        <div class="caption"><?php if ( !empty($post->post_excerpt) ) the_excerpt(); // this is the "caption" ?></div>

                                        <?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>

                                        <div class="navigation">
                                            <div class="alignleft"><?php previous_image_link() ?></div>
                                            <div class="alignright"><?php next_image_link() ?></div>
                                        </div>
                                        <br class="clear" />

                                        <p class="postmetadata alt">
                                            <small>
                                                This entry was posted on <?php the_time('l, F jS, Y') ?> at <?php the_time() ?>
                                                and is filed under <?php the_category(', ') ?>.
                                                <?php the_taxonomies(); ?>
                                                You can follow any responses to this entry through the <?php post_comments_feed_link('RSS 2.0'); ?> feed.

                                                <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
                                                    // Both Comments and Pings are open ?>
                                                    You can <a href="#respond">leave a response</a>, or <a href="<?php trackback_url(); ?>" rel="trackback">trackback</a> from your own site.

                                                <?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
                                                    // Only Pings are Open ?>
                                                    Responses are currently closed, but you can <a href="<?php trackback_url(); ?> " rel="trackback">trackback</a> from your own site.

                                                <?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
                                                    // Comments are open, Pings are not ?>
                                                    You can skip to the end and leave a response. Pinging is currently not allowed.

                                                <?php } elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
                                                    // Neither Comments, nor Pings are open ?>
                                                    Both comments and pings are currently closed.

                                                <?php } edit_post_link('Edit this entry.','',''); ?>

                                            </small>
                                        </p>

                                    </div>

                                </div>

                            <?php comments_template(); ?>

                            <?php endwhile; else: ?>

                                <p>Sorry, no attachments matched your criteria.</p>

                        <?php endif; ?>


                    <div class="clear"></div>


                </div>

            </div>

5 Cevap

İlk gibi görünmüyor, <?php if (have_posts()) : ?> sona erdi. Eğer sonra fonksiyonelliğini hattını çoğaltmak beri hatta bu hattı gerekir gibi de görünmüyor.

Ben bu çizgi sorunlara neden oluyor sanırım:

<?php if (have_posts()) : ?>

Sildim ve hata kayboldu. Sen sonraki satırda tekrar yapılan aynı test var, bu yüzden bu gereksiz sanırım.

Sadece benim yaptığım gibi, bu sorunu olsun diğer insanlar için, o da kısa etiketleri kullanarak neden olabilir.

Ben özellikle bu örneği biliyorum o kullanır <?php echo "Blah"; ?>

ama başka bir sunucuya üzerinde kod birleşiyor ve kullanılan varsa <? echo "Blah"; ?> şimdi bu hatayı alırsınız.

php.ini ve bu sizin için de geçerlidir ve size kodunu değiştirmek istemiyorsanız kısa etiketleri açmak

Çizgi <?php if (have_posts()) : ?> sona asla, bu yüzden ekstra bir <?php endif; ?> gerekir

Hrm. Ben sözdizimini kendim kontrol ettim ve genellikle bu bir {} bir yere eksik olduğu anlamına gelir. Bunu hep birlikte koyarak ilginç bir yol var. Ben sadece doğrultusunda kendi sözdizimi tutmak için php saf PHP içine orta bölümünü ve sonra sadece çıkış html pekiştirmek yok şaşırdım.

Ama kişisel olarak, ben öyle yapardım. Ben mümkün olduğunca basit kodumu tutmak ve kadarıyla dilleri ile ilgili olarak bir yol veya başka bir ya yalın çalışın. (Şablonlar için) PHP ile bir tutam çoğunlukla HTML veya (kolay okuma için) çoğunlukla PHP çıktısı HTML ya.