メシのタネ

Webプログラミング 備忘録

  • DOMをPHPで操作できたらいいよね

    そうだよね。そう思うよね。JavaScriptでやると、画面がガタついたりするもんね。そうならないようにする方法もあるかもしれないけど、僕はできませんので、サーバー側でなんとかできたらええなぁと思って挑戦したけど、できませんでしたよ。PHP標準でHTMLをDOMにできるらしい今、技[...]

    続きを読む
  • 設計書ってなんで書くの?

    設計書をなぜ書くのかから始めてかれこれ3年近くこの禅問答をやっているわけですが、いまだに答えは出ません。ただ、その禅問答をやる中で設計書に対する取り組み方は大きく変わったので、その一部でも書いていきたい。基本設計はとにもかくにも必要だと思う設計書はいらぬ!という話をよく聞くし、自分[...]

    続きを読む
  • 書ききってやる。

    久々に書いてみる。久々に文章を書くということをやってみようと思う。伝える作業を観察したいと思ったからそうしたいと考えた。情緒的な文章は基本的にゴミ箱にぽいしてきましたが、情緒的なのも自分だと思う。「文章をかくという作業は、とりもなおさず自分と自分をとりまく事物との距離を確認すること[...]

    続きを読む
  • 普通の会社で2年普通に働いて思う事

    えらい寒くなりました。文句言いながらも現職を続けて2017年12月1日にめでたく2年がたちました。分かりやすいが乱暴に言えばITドカタと呼ばれる業界に入って案件のヒエラルキーの無慈悲さを痛感しながらも、それでもしょうがないと頑張る人たちに心を打たれながら「じゃあ俺も」と頑張れない自分に挫折して、とあ[...]

    続きを読む
  • jQueryUiのDatepicker利用時にminDate設定するとバグる件

    題名の通りなんですが、DatepickerでminDate使うとバグります。また後でキャプチャ見て貰いますけど、灰色の部分が、minDateで設定した日付が反復して出るようになるんですね。こういうの気が付かない人がいるかも知れませんが、ChoromeでminDate設定してる人は気にしてみてくだ[...]

    続きを読む

【WordPress】指定カテゴリ記事を5件出すプログラム

pacoding

あんまり需要が無いかもしれませんが、
お勧め記事をやってみようかと思ってプログラムを書きました。
まだα版なので、これからもっと賢くしていけたら良いなぁと思います。

仕組み

投稿IDを送る→投稿IDからカテゴリー情報を抽出→1番目に指定したカテゴリを取得
→取得したカテゴリ名からランダムに降順でデータ取得→結果を配列に入れてリターン
って流れです。

コード

自分の環境では動いてます。
ただ、若干データの返し方が乱暴なので、
出力サンプルものしておきます。

single.phpでのみの使用を目的としてます。

//関数
function recomendpost($id)
{

	$cat = get_the_category($id);
	$cate = $cat[0]->cat_ID;
	$pm = array(
		"cat" => $cate,
		'posts_per_page' => 5,
		'order' => 'DESC',
		'orderby' => 'rand',
	);

	$obj = new WP_Query($pm);

	$res = array();

	foreach($obj->posts as $key => $val)
	{
		$res["title"][] = $val->post_title;
		$res["ID"][] = $val->ID;
	}

	$res["category"] = $cat[0]->cat_name;

	return $res;
}

//出力例

$recomend = array();
$recomend = recomendpost($post->ID); //投稿IDを投げる
$format = home_url()."/".$recomend["category"]; //URL生成(もっと良いやり方あると思います)

//titleとrecomendは配列の数一緒なので回しても大丈夫なはずです。

foreach($recomend["title"] as $key => $val) :
echo "<a href=\"".$format."/".$recomend["ID"][$key]."\">".$val."</a>";
echo "<hr />";
endforeach;

ほいではー。ぐんないー

関連記事

コメントをお待ちしております