質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

132閲覧

ワードプレスの条件分岐について

alitomo

総合スコア41

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2015/07/02 11:56

ワードプレスのループの条件判断で偶数、奇数、最初の投稿、最後の投稿などは
それぞれ

function isFirst($myQuery){
return ($myQuery->current_post === 0);
}

function isLast($myQuery){
return ($myQuery->current_post+1 === $myQuery->post_count);
}

function isOdd($myQuery){
return ((($myQuery->current_post+1) % 2) === 1);
}

function isEvery($myQuery){
return ((($myQuery->current_post+1) % 2) === 0);
}

などで取得出来るとおもいますが、

例えば、4N+3、や4N+2等の
場合を特定したい場合はどのようにすれば良いのでしょうか?

現在
function isBgwhite($myQuery,$side){
if($side == "left"){
$array = array(2,6,10,14,18,22);
}else{
$array = array(1,5,9,13,17,21);
}
return (in_array($myQuery->current_post ,$array) );
}
にして該当の回数を配列にいれて条件判別しているのですが、配列外に拡大した場合、これでは対応出来ないので困っています。
どうぞよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

4N + 3ならcurrent_postを4で割った余りが3
4N + 2ならcurrent_postを4で割った余りが2
で判定できると思います。

余剰は%演算子で求めます。

投稿2015/07/02 12:22

wakuwaku

総合スコア386

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

alitomo

2015/07/02 12:25

function is4n_3($myQuery){ return ((($myQuery->current_post) % 4) === 3); } function is4n_2($myQuery){ return ((($myQuery->current_post) % 4) === 2); } ということでしょうか?
wakuwaku

2015/07/02 12:45

その通りです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問