ループ中に回数を数える

2月ももうすぐ終わりですね。

みなさんはちゃんと節分しましたか?バレンタインはしましたか?

新潟は春が来るのがもう少し先のようですが、みなさんのお住まいのあたりはいかがでしょうか?

さて今回はWordpressのお話です。

先日制作させていただいたサイトで、アーカイブページで3つのボックスを1並びごとにマークアップする必要があったんです。

ではループの1(+3n)回目と、3(+3n)回目にだけ処理が入るようにif分をかけばいいのかな、と。そのときのお話です。


<?php 
//ループ回数を入れる変数  
$count = 1;
//トータルの記事数
$name =  get_term_by('slug',$term,'taxonomy_name')->name ;
$count_total =  get_term_by('slug',$term,'taxonomy_name')->count ; 
?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
	$flag_count = 0;
//何番目か確認
	if($count%3 == 0){
		$flag_count = 3;
	}elseif($count%3 == 1){
		$flag_count = 1;
	}elseif($count%3 == 2){
 	 	$flag_count = 2;
	 }else{
		$flag_count = 0;
	}
?>
<?php 
	if($flag_count == 1){
		echo '<div class="row">';
	}
?>
 
 コンテンツがは入ります。
 
<?php 
	if($flag_count == 3 || $count == $count_total){
		echo '</div><!-- end .row -->';
	}
?>

<?php 
	$count++;  //最後にループ回数を一つ進める 
?>
<?php endwhile; ?>
<?php endif;  ?>

骨組みはこんな感じにしました。

今回は3回1セットなので、回数を数える変数$countを用意して、3で割ったときのあまりが1なら1(+3n)回目、2なら2(+3n)回目・・・と数えていきます。(4回ごとの処理なら$count%3を$count%4へ、と適宜変更してください。)

これで3つのボックスを1並びごとにできました!似たような処理で、何回めだけにクラスを付ける、とかいろいろできますね!

 

今回はこちらを参考にさせていただきました。
WordPressで3の倍数の記事にClassをつける方法(エントリの3列表示)


追記

自分で気づきしたが、もともとのソースでは3の倍数以外で最後のdivが閉じませんね。修正して再アップしています。

トータルの記事数を取得し、3倍数もしくはカウント数がトータルと同じだった場合に閉じる処理にしました。


WPで設定が効かない場合のチェック

WPでよく使うタクソノミーのドロップダウンを設置する時に
wp_dropdown_categories(‘name=pltype&taxonomy&item&depth=0&hide_empty=0&show_option_all=Any’)

とか、パラメータをつらつらと『&』でつなげて組み上げていきますが

検索フォームなどで、検索結果を引きついでドロップダウンをセレクトの状態にするために『selected』のパラメータを使う際には気をつけてください。
『&』で接続すると、効かない場合があります。
そんな時は、Codexの記述のように

 

wp_dropdown_categories(  array(‘selected’ => ‘変数’, …

 

の記述に変えると効き始めますので

もしもコーディングしても思ったように動作しない場合は書き方を変えてみると良いかもしれません。


WORDPRESS 権限の違いと複数管理者対応

WORDPRESSの管理者権限には5つの種類があり、それぞれに投稿や編集に関する権限が違います。
今回は、その権限の違いと、それを踏まえて複数の管理者が居る場合の対応についてです。
 

管理者権限の種類として
『管理者』『編集者』『投稿者』『寄稿者』『購読者』の5つの権限があります。


『管理者』とは?
WORDPRESSの全てに対して編集・管理できる権限を持ちます。

『編集者』とは?
記事に対しては編集や公開・削除など全ての権限を持ち、カテゴリやリンクなどの編集が行えます。

『投稿者』とは?
投稿者本人の記事を公開・管理する権限は持ちますが、ファイルをアップロードする事ができません。

『寄稿者』とは?
記事の投稿や自分の記事の管理はできますが、記事の公開やファイルのアップロードはできません。

『購読者』とは?
コメントの読み書きやメールマガジンを受け取る事はできますが、コンテンツに関わる事は一切できません。

続きを読む WORDPRESS 権限の違いと複数管理者対応


USBメモリでWordPressを使う

社内でWindowsメインで作業しているのは、私一人だったりします。ほとんどMacです。
と言うわけで、今回もWindowsです。10は良さそうですね!

Wordpressを使った案件を色々やっていると、ローカルでも環境が欲しくなります。
それがUSBメモリに入って持ち運べると最高なんですが、と思っていたら既にありました。

今回は、Instant WordPressの導入説明です。
一応現在の最新版、Wordpress4を想定しています。
はじめ何も考えずに、導入したら国際版になってしまったので、最初から日本語版になるようにセットアップを進めてみます。

1.ダウンロード
ここからです。→http://www.instantwp.com/
※2014年10月31日現在の最新版は4.3.1
instant_wp_001

2.インストール
InstantWP_4.3.1.exeを実行してインストールします。
リムーバブルディスクに今回は入れてみます。
今回はSDカードのKドライブに導入してみます。
instant_wp_004

3.Wordpress本体の差し替え
落としたZIPを解凍します。この中にWordpress本体は含まれていますが、国際版です。テーマは英語になるようです。
そこで日本語版に差し替えます。wordpress.orgから最新版を落としておきましょう。
instant_wp_002

ダウンロードしたWordpressを解凍すると、「Wordpress」と言う名前のフォルダが出来ます。
これをInstantWordpressをインストトルしたドライブにある、
K:InstantWP_4.3.1iwpserverhtdocswordpress と差し替えます。(Kドライブ場合。適宜読み替え)
上書きでなく、削除してから入れ替えて下さい。これで完全日本語版になります。

4.起動
インストール先のディスクから、InstantWP.exeを起動します。
instant_wp_013

5.phpmyadminでDBを作成
InstantWordPressのコンパネから、phpmyadminに入ります。
instant_wp_005
IDはroot、パスはありません。
DBを追加します。例では、wp_testですが、何でも良いです。「作成」ボタンを押して作成します。
instant_wp_006

6.Wordpressのインストール
InstantWordPressのコンパネから、WordPressトップを開きます。
instant_wp_007
セットアップ前なので、設定からはじめます。
サーバーに導入する場合と同じです。
instant_wp_008

DBの設定は先ほど作ったDBの情報を入れます。パスは空欄です。
instant_wp_009

問題なければ、次に進みます。インストールを実行します。
instant_wp_010

各種設定です。最後にWordPressをインストール、します。これで完了です。
instant_wp_011

7.ログイン、運用
設定が終われば、あとはログインして下さい。普通のWordpress環境です。ユーザーを追加したり、プラグインを追加したりして、環境を整えてみましょう。
びっくりするほど普通です。
instant_wp_012

試しにメモリを抜いて他のPCで起動してみましたが、今のところ問題ありませんでした。
バージョンアップやテーマの差し替え、プラグインの導入も通常のWordpressと変わりません。

終了は、Instant WordPressのウインドウを閉じれば各種サーバーも終了します。

USB運用が出来るので、色々面白い使い方が出来そうです。
簡単にWindows環境と切り離せるのが気に入ってます。
ただ、ヘビーに使うとどうなるのかわかりません。念のため予備環境、テスト環境、デモ環境としての利用が良いと思います。
移動もきちんとサーバーを終了させて取り外しの処理をしてから抜かないと同環境が簡単に壊れるような気もします。

暫くテストで使ってみる予定です。