【コピペOK】ノンプログラマーでもできるPHP

稼ぐためのブログを作って行くと、Wordpress(ワードプレス)をカスタマイズしていくとCSSでもhtmlでもほとんどの部分で対応はできると思いますが、部分的に、PHPで書いた方が早くて、確実じゃねー!って部分も出て来ます。

ノンプログラマーな僕としては、って言っても分からない訳ですw
(勉強しろよ!って事かも知れないのですが…)

そんなノンプログラマーの手助けになればと、備忘録をかねてご紹介します。

ループで偶数、奇数、最初、最後を取得するして表示する

  1. function.phpに追記
  2. ループ処理したいphpに取得したい「偶数、奇数、最初、最後」のいずれかを指定する

function isFirst(){ /* 最初 */
    global $wp_query;
    return ($wp_query->current_post === 0);
}
 
function isLast(){ /* 最後 */
    global $wp_query;
    return ($wp_query->current_post+1 === $wp_query->post_count);
}
 
function isOdd(){ /* 奇数 */
    global $wp_query;
    return ((($wp_query->current_post+1) % 2) === 1);
}
 
function isEver(){ /* 偶数 */
    global $wp_query;
    return ((($wp_query->current_post+1) % 2) === 0);
}
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="post<?php if(isLast()) echo ' last'; ?>">
<h2><?php the_title(); ?></h2>
<div class="entry"><?php the_content(); ?></div>
</div>
<?php endwhile; endif; ?>

2行目の

class="post<?php if(isLast()) echo ' last'; ?>"
『last』部分をfunction.phpに追加した関数から選んで入れる形です。

例えば「float」を使っているclassで、偶数回目に「clear:both」を入れたいなんて時に使えますね。

今までに紹介した、

CSSのクラスやIDを個別にキャンセルする方法
https://laplace.link/css-js/nth-child/

にある、疑似クラスをあてても同じ事ができると思いますが、 今回の様なパターンはphpにした方が少ないコードと変更で対応できるので良いと思います。

phpの勉強にもなりますしねw

WordPressの記事ループの中で、最初や最後の記事とかを判別する
参考・出典:http://d.hatena.ne.jp/kanonji/20100210/1265775753
ループの「偶数、奇数、最初、最後」を取得する
参考・出典:http://kotori-blog.com/wordpress/loopinfo/

ABOUTこの記事をかいた人

1998年からWEB関連の仕事に従事。角川グループのWEB会社に入社し、ディレクター、デザイナーとして経験を積む。2004年よりフリーランスとして活動し、2008年に法人を設立。サイトの制作だけでなく運用保守や紙媒体も行う。専門学校の非常勤講師も経験。