web-dev-qa-db-de.com

Logic to Print/Echo einer CSS-Klasse nur für den 1. Beitrag und ignorieren Sie alle Beiträge nach dem 1.?

Ich versuche, eine Funktion zu erhalten, um drei Beiträge zu erhalten und den ersten Beitrag mit aktivierter Klasse zu drucken/wiederzugeben, und der Rest des Beitrags wird Normal sein.

Ich habe versucht diesen Code in functions.php zu generieren und habe das Ergebnis nicht erreicht.

function slider_news() {
        $args = array(
      'numberposts' => 3
    );
            $latest_posts = get_posts($args);   

            foreach ($latest_posts as $post) {
            $num    = 0;
            $newnum = $num + 1; 
            $num    = $newnum;

            if ($num =1) {

                echo 'Post with <div class="active">1st Post </div ';

                $newnum = $num + 1; 

            }


            else{

                echo 'Post with <div class="Normal">All other posts except 1st</div>';

                }
                                            }
                                }       

Der Quellcode, den ich von dieser Funktion bekommen habe, ist unten

Post with <div class="active">1st Post </div>
Post with <div class="active">1st Post </div>
Post with <div class="active">1st Post </div>
1
Nimesh

Wie ich in den Kommentaren bemerkt habe, ist dies eher eine Frage der Programmiersprache als eine Frage der WordPress-Entwicklung, und das gilt auch für die zweite Frage. Anstatt die Diskussion zu kommentieren und mehr Fehler zu machen, schreibe ich eine Antwort.

function slider_news() {

    $num = 0;
    $args = array( 'numberposts' => 3 );

    $latest_posts = get_posts( $args );   

    foreach ( $latest_posts as $post ) {

        $num++; //PHP increment operator ++ (add 1 to value)

        if ( 1 === $num ) { //using a single equals as in original would set the value, === is strict equivalence

            echo 'Post with <div class="active">1st Post</div>';
            //example was missing final ">"

        } else {

            echo 'Post with <div class="Normal">All other posts except 1st</div>';

        }

    }

}

Oben sehe ich kein Problem, wenn zwischen einfachen und doppelten Anführungszeichen gewechselt wird. Solange Sie mit einfachen Anführungszeichen konform sind, können Sie doppelte Anführungszeichen verwenden, wie Sie möchten, aber Sie müssen einfache Anführungszeichen vermeiden, die gedruckt werden sollen. Für weitere Informationen empfehle ich Ihnen, sich mit der PHP -Syntax vertraut zu machen. Es gibt keine besonderen WordPress-Ausnahmen.

3
CK MacLeod