本日、良くして貰っているお客様から連絡があった。

お客様:「ドメインの更新の案内がきているんだけど、どうすればいいの?」

私:「どちらからの案内です?」

お客様:「○○会社(以前の勤め先)から」


あ~あ、やっちゃった!

退職後もお付き合いをしていきたいと申し出てくれたお客様なのに、サイトの管理を全て任せたいと言って頂いたお客様なのに、まだ名義変更できていない。

言い訳じゃないけど、立つ鳥跡を濁さずの通り、既存客は全て担当営業と後任者に引き継いだ。

で、退職後にいただいた上記の依頼(ドメイン名義の移譲)を、担当営業及び後任者にお願いしたのだか、結果これだ。

約2ヵ月前に、後任者も会社を退職したようで、一度会う機会があったからその件を聞いてはあった。

私:「△△さんのドメイン名義変更の件、どうなった?」

後任者:「あ~、あれなら名義変更に印鑑がいるから書類を作成して印鑑を△△さんにお願いして、それから返信なかったんじゃなかったかな~?」

出た!無責任チャラ男。

他人を非難しても始まらんよ。チャラ男を急かさなかった私も悪い。

ただせめて私の手の届く範囲だったらと思うと無念。

○○会社と△△さんの間での契約だけに立ち入れない。

唯々△△さんごめんなさいと反省。
さぁ~て、2ヵ月以上ぶりぶりのブログ。

忙しかった年末年始をどうにか乗り越えたけれど、今度は逆に今月からの売上が心配になってきた。

まぁ、なんとかなるだろう。

今回は年末年始のお仕事で何度も使ったWordPressの記事リスト取得→表示のPHP記述方法をまとめておこう。

何故ここにまとめるかというと、何度設置しても完全には覚えていないから。

目的は、TOPページなどによくある投稿した記事を新着順にリスト表示してあるアレの作り方。

表示状態は下記のような感じ。

2012.00.00
記事のタイトル(クリックで記事ページにジャンプ)
2012.00.00
記事のタイトル(クリックで記事ページにジャンプ)
2012.00.00
記事のタイトル(クリックで記事ページにジャンプ)
  ・
  ・
  ・

で、記事が全く無かった場合は

2012.00.00(閲覧日)
現在、新着情報はありません。

という表示。

ソースは、

<?php
require('./wp-load.php');
?>

<?php
$mypost = get_posts();
if($mypost) {
foreach($mypost as $post) :
setup_postdata($post);
?>
<dl>
<dt><?php echo mysql2date('Y.m.d', $post->post_date); ?></dt>
<dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd>
</dl>
<?
endforeach;
?>

<?php } else { ?>

<dl>
<dt>
<?php
$today = date("Y.m.d");
print($today);
?>
</dt>
<dd>現在、新着情報はありません</dd>
</dl>

<?php } ?>


解説。

<?php
require('./wp-load.php');
?>
//Wordpressの情報を「wp-load.php」に読みに行きなさい的なこと

<?php
$mypost = get_posts();  //投稿記事の情報を$mypostに代入しとくよ~
if($mypost) {  //もし$mypostに記事情報が格納されていたならば~
foreach($mypost as $post) :  //記事の数だけ繰りスタート!
setup_postdata($post);  //記事毎に$postにセット
?>
<dl>
<dt><?php echo mysql2date('Y.m.d', $post->post_date); ?></dt>
//DBのpost_dateをY.m.d(年.月.日)の形で書き出しますよ~
<dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd>
//the_permalink()は記事のリンク先URL、the_title()は記事のタイトルを書き出しなさいよ~
</dl>
<?
endforeach;
?>
//繰り返しの内容はここまでで、記事の数だけ繰り返し

<?php } else { ?>
//あるいは、そうでなければ(記事が存在しなければ)

<dl>
<dt>
<?php
$today = date("Y.m.d");
print($today);
?>
//$todayに、date("Y.m.d")←閲覧時点での日付を設定して表示しなさいな
</dt>
<dd>現在、新着情報はありません</dd>
</dl>

<?php } ?>
//という条件分岐で終了です。


至って簡単な初歩中の初歩なんだけど、なかなか完璧に覚えられないorz

ちなみに表示件数やカテゴリを絞ったりするのは、get_posts()の()の中にシングルクォート付で'numberposts=5&category=3'ってかたちで設定すると良い。

上記のnumberpostsは表示件数(無制限は-1に設定)、categoryはカテゴリ№。


以前は結構WPとindex、固定ページは別に作っていたから、
<?php
require('./wp-load.php');
?>
を使っていたけど、Wordpress内で設定する場合は上記require~は必要無いね。


Wordpressの検索はWordpressのindexが無いと稼働しないので、今後はwordpressのindexを活用しよう。


以上、個人的に忘れないようにするためのまとめでした~。
しかし、Facebookはコロッコロ仕様が変わってくれるので、本当に大変。

ってかここまでくると、ちと迷惑。

Facebookページのオリジナルページ制作のお仕事とかの時に、設定画面、項目が変わっていて、毎回設定方法の検索からはじめなければならん。

検索しても以前の方法ばかりで、ひとつも先に進まない。

ユーザビリティだとか、サービスの充実だとか言うんだろうけど、変わったことの案内もないし、対処方法の説明もない。

Facebookについて、結構、何をどうしたらいいのかという質問も受けるし、あっちこっちで勉強会が開催されておる。

もうちょっとユーザー目線で考えないか?


最近、twitterだ、Facebookだ、LinkdInだ、mixiだ、Google+だと、SNSもやらなきゃいけないことだらけ。

連携してるっていうけど、趣旨や繋がりの趣向がそれぞれ違うんだから、内容によってちょっと使い分けないといけない場合もある。

そんなことやってると、本当に大事なアナログなネットワークがお粗末になってしまいそう。

インターネット、ホームページ、SNS、どれも所詮は道具にすぎない。

道具と流行におどらされては本末転倒である。

個人的には、最近どうでもよくなってきているSNSなのである。
1996年11月から15年。

レース諦めてから13年。

15年かぁ。

永いようであっという間だったな。

今改めて思い返すのは、いろんな面でピンチだからかな。

今年春に転職した会社がもう存続の危機!

自分への評価も検証の対象となっているだろう。

春からの働きを思い直してみた。

いろいろ考えたけど、確かに問題がある。

それは仕事をしていないということではない。

仕事はしている。けど、ただそれだけ。

目的・目標も掲げているけど、それでも駄目だと思う。

大事なのは「自分らしく」仕事をしているかどうか。

否、仕事だけでなく、私生活も自分らしく過ごしているかどうかだと思う。

最近というか、かれこれ8~9年ぐらい自分を押し殺して生きているように思う。

自分らしい取り組みが全く出来ていなかったと思う。

だから今、自分自身に自信もプライドもなく、卑下した感じになっているんだろうと思う。

大事なのは自分らしさ!

全く根拠のない自信もあとから実力がついてくればそれで良かった。

そんなやり方で今まで生きてきたはずだ!


昨日、本屋に立ち寄った。

スティーブ・ジョブスの本がたくさん並んでいた。

目は通さなかったが、逸話は幾つか知っている。

スティーブ・ジョブスの本の隣には松下幸之助の本も並んでいた。

こちらは少し目を通してみた。

買おうかと思ったがやめた。

スティーブ・ジョブスも松下幸之助も、この本を買って自分と同じようにしろといっているんじゃないはず。

自分の信念は貫け。

自分を信じて、自分らしくあれ。

そして柔軟な発想をしろ。

そういっているんじゃないだろうか。私はそう判断した。

なので、まず自分をしっかり取り戻すこと!

これが今月以降の生活を脅かすことになったとしても、自分をしっかり持っていれば、必ず道は開けるはず。

自分を取り戻したら、今度は昨日の本を買おう!

その時初めて参考にすることが出来るような気がする。


やはり本屋さんは良いところだと思う。

これからもたまには立ち寄ることにしよう。
いつも思うこと。

WordPressを使うサイト作成でも、記事以外はWP外部で作った方が楽。

本当はテンプレート作った方がいいんだろうけど、なんでかいつも面倒に思える。

なので、ほぼ毎回HOMEの新着情報はWPから情報抽出してHOMEのPHPファイルに埋め込ませてる。

ただ、いつもはカテゴリ関係なしに新着を表示させていたので問題なかったが、今回は記事毎にカテゴリのアイコンを表示するというものになった。

目標はこんな感じ

船を買うぞ~!

ソース的には

<li class="news">
<span class="NL_date">2011.09.30</span>
<a href="news.php" target="_blank">ニュースでのテスト</a>
</li><!-- End event or news -->

<li class="event">
<span class="NL_date">2011.09.29</span>
<a href="news.php" target="_blank">Hello world!</a>
</li><!-- End event or news -->

こうなると、get_posts()で記事情報を取得し、foreachでループしてリスト化するだけじゃ対応できない。

なぜなら、このget_posts()ではカテゴリ情報は取得できない。

get_posts()にカテゴリの条件入れると、表示順カテゴリが優先されてします。

ちょっとググって見たら記事の該当するカテゴリ情報を取得する“the_categoru()”があることが判明!

なので、ループの中に該当のカテゴリ情報を取得するためのthe_category()を設置してみる。

<?phprequire('./wp-load.php');?>

<?php
$mypost = get_posts();
foreach($mypost as $post) :
$mb_title = mb_convert_encoding($post->post_title, "UTF8", "UTF8");
$mb_content = mb_convert_encoding($post->post_content, "UTF8", "UTF8");
$sp_date = split(" ", $post->post_date);
$sp_set_date = split("-", $sp_date[0]);?>
<li class="<?php the_category(); ?>">
<span class="NL_date">
<?php echo $sp_set_date[0].".".$sp_set_date[1].".".$sp_set_date[2];
?>
</span>
<a href="news.php" target="_blank"><?php echo $mb_title; ?></a>
</li><!-- End event or news -->
<?
endforeach;
?>

すると、“post-categories”クラスタグの付いたリストタグとリンク情報までくっついてくる。

船を買うぞ~!

こんな余計な物は今回いらないし、実際欲しいのはカテゴリーのスラッグ情報だけでいい。

ググってみたら、該当カテゴリ情報を取得するget_the_category()なるものがあることが判明。

使い方はget_posts()と同じで、配列に押し込んで必要情報を代入して取り出すようだ。

get_the_category()からカテゴリのスラッグを取得。

<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->slug; } ?>

これをリストのクラスにはめ込めば完成。

<?php
require('./article/wp-load.php');
?>
<?php
$mypost = get_posts();
foreach($mypost as $post) :
$mb_title = mb_convert_encoding($post->post_title, "UTF8", "UTF8");
$mb_content = mb_convert_encoding($post->post_content, "UTF8", "UTF8");
$sp_date = split(" ", $post->post_date);
$sp_set_date = split("-", $sp_date[0]);
?>
<li class="<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->slug; } ?>">
<span class="NL_date">
<?php echo $sp_set_date[0].".".$sp_set_date[1].".".$sp_set_date[2]; ?>
</span>
<a href="news.php" target="_blank"><?php echo $mb_title; ?></a>
</li><!-- End event or news -->
<?
endforeach;
?>

このphpファイルをindex.phpの反映させたいところに読み込ませる命令を記述。

<?php include_once("top_newslist.php"); ?>

いつも思うけど、できあがると簡単に思えちゃうのは何故だろう。

WordPressのloopファイル見てもまったくわからないくせに…。