私は、3つの投稿を取得し、最初の投稿をprint/echoするクラスをアクティブにし、残りの投稿はNormalになるような関数を取得しようとしています。
このコードをfunctions.phpで生成しようとしましたが、結果が得られませんでした。
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>';
}
}
}
私はこの関数から得たソースコードは以下の通りです
Post with <div class="active">1st Post </div>
Post with <div class="active">1st Post </div>
Post with <div class="active">1st Post </div>
私がコメントで述べたように、これはWordPress開発の質問よりもプログラミング言語の質問であり、そしてそれは第二の質問にも当てはまります。ただし、コメントを追加して間違いを増やす代わりに、答えを書きます。
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>';
}
}
}
一重引用符と二重引用符を交互に使用しても、上記に問題はありません。一重引用符を使用して文字列を区切ることに一貫している限り、それらの中で二重引用符を使用することはできますが、印刷用の一重引用符をエスケープする必要があります。詳しくは、PHPの構文をお読みになることをお勧めします。特別なWordPressの例外はありません。