0

これは、ワードプレステーマのindex.phpの私のphpコードです:

<section id="content">
    <?php
        $i=1;
        while(have_posts() && i < 7):the_post();
        $tumbUrl = '';
        if(has_post_thumbnail())
        {
            $tumbUrl = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
        }
        if(i < 4):
    ?>
    <div id="row1">
        <div id="tile<?echo $i?>" class="tile">
            <div id="img<?echo $i?>" class="tileimage"<?if($tumbUrl != ''):?> style="background-image:<?echo $tumbUrl; ?>"<?endif;?>></div>
            <div id="text<?echo $i?>" class="tiletext"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></div>
        </div>
    </div>
    <?
        else:
    ?>
    <div id="row2">
        <div id="tile<?echo $i?>" class="tile">
            <div id="img<?echo $i?>" class="tileimage"<?if($tumbUrl != ''):?> style="background-image:<?echo $tumbUrl; ?>"<?endif;?>></div>
            <div id="text<?echo $i?>" class="tiletext"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></div>
        </div>
    </div>
    <?
        endif;
        endwhile;
    ?>
</section>

実行したいときに、「それ」というエラーが表示されますが、エラーParse error: syntax error, unexpected end of file in C:\wamp\www\wordpress\wp-content\themes\Odatis\index.php on line 31が見つかりません。

誰か助けてもらえますか?

(私のPHPバージョンは5.4.3です)

4

3 に答える 3

13

その非常に簡単です。短いオープンタグを使用します<?

php.iniで短いオープンタグを有効にするか<?php、新しいPHPバージョンのように完全なphpタグを使用します。デフォルトでは無効になっています。ただし、コードを共有する場合に問題を引き起こす可能性のある短い構文をプロジェクトで使用しないでください。

http://www.php.net/manual/en/ini.core.php#ini.short-open-tag

于 2013-03-27T11:16:15.900 に答える
2

これが変更された作業コードです...

<section id = "content">
    <?php
        $ i = 1;
        while(have_posts()&& i <7):the_post();
        $ tumbUrl ='';
        if(has_post_thumbnail())
        {{
            $ tumbUrl = wp_get_attachment_url(get_post_thumbnail_id($ post-> ID));
        }
        if(i <4):
    ?>
    <div id = "row1">
        <div id = "tile <?php echo $ i;?>" class = "tile">
            <div id = "img <?php echo $ i;?>" class = "tileimage" <?php if($ tumbUrl!=''):?> style = "background-image:<?php echo $ tumbUrl; ?> "<?php endif; ?>> </ div>
            <div id = "text <?php echo $ i;?>" class = "tiletext"> <a href = "<?php the_permalink()?>" rel = "bookmark" title = "<?php the_title() ;?> "> <?php the_title(); ?> </a> </ div>
        </ div>
    </ div>
    <?php
        そうしないと:
    ?>
    <div id = "row2">
        <div id = "tile <?php echo $ i;?>" class = "tile">
            <div id = "img <?php echo $ i;?>" class = "tileimage" <?php if($ tumbUrl!=''):?> style = "background-image:<?php echo $ tumbUrl; ?> "<?php endif; ?>> </ div>
            <div id = "text <?php echo $ i;?>" class = "tiletext"> <a href = "<?php the_permalink();?>" rel = "bookmark" title = "a <?php the_title ();?> "> <?php the_title(); ?> </a> </ div>
        </ div>
    </ div>
    <?php
        endif;
        終わり;
    ?>
</ section>
注:終了マーク(;)があり、必要に応じてスペースもあることを確認してください。
于 2013-03-27T11:42:39.800 に答える
1

<?echo ###?>すべてをに置き換えてみてください<?= ### ?>。または、PHPが5.4未満の場合は、php.iniで短いオープンタグを有効にする必要があります。

aww no:セミコロンがありません<?php the_permalink() ?>

これらのいずれかで修正する必要があります。そうでない場合は申し訳ありません:/

于 2013-03-27T11:18:15.497 に答える