0
<?php 
    $freeadvice=new WP_Query('category_name=freeadvice&showposts=10');
    while($freeadvice->have_posts() ): $freeadvice->the_post();
?>
    <li class="event">
        <input type="radio" name="tl-group" />
        ....
</li>
<?php endwhile;?>

これは私のループの現在のコードですが、最初の投稿でそれを作成しようとしています。つまり、最近の投稿には、内部リスト項目の最初の行が次のように含まれている必要があります

<input type="radio" name="tl-group" checked/>

新しい投稿を追加するたびに、最初の子をこの属性で追加する必要があります。これはphpを使用して可能ですか、それともjavascriptである可能性がありますか

4

2 に答える 2

2

フラグを使用できます

<?php 
    $flag = true;
    $freeadvice=new WP_Query('category_name=freeadvice&showposts=10');
    while($freeadvice->have_posts() ): $freeadvice->the_post();
?>
    <li class="event">
  <input type="radio" name="tl-group" <?php if ($flag) { echo "checked"; $flag = false; } ?>/>
        ....
</li>
<?php endwhile;?>
于 2013-11-01T06:28:37.173 に答える
0

私が理解したことに関しては、最初の Li 項目にあるラジオボタンの属性をチェックしたいです。私は正しいですか?

私がすることは、while ループの直前にゼロで変数を初期化し、最初のインスタンスに対してのみ、checked 属性を提供することです。すべてを残すために私はしません。例:

<?php 
    $freeadvice=new WP_Query('category_name=freeadvice&showposts=10');\
    $x=0; //initializing variable
    while($freeadvice->have_posts() ): $freeadvice->the_post();
        if($x==0) //If block is executed only for the first instance
        {
?>
            <li class="event">
                <input type="radio" name="tl-group" checked/> //providing checked attribute
                ....
            </li>
    <?php
        }else{ //else block is executed for all other instances
    ?>
            <li class="event">
                <input type="radio" name="tl-group" />
                ....
            </li>
    <?php
        }
        $x=$x+1; //incrementing x value
    ?>
<?php endwhile;?>

このように、$x変数が 0 の場合、つまり初回のみ、if ブロックが実行され、ラジオ ボタンが属性 を取得しますchecked。次に$xがインクリメントされ、1 回おきに else ブロックが実行されます。

$xwhile ループを開始する前に毎回 0 として宣言することが重要です。したがって、 while ループの直前に初期化されます。

それが役に立てば幸い..

于 2013-11-01T06:44:44.087 に答える