ページャーへの理解をちゃんとしよう。

ワードプレスのページの概念というかqueryの話になるのかな?

<?php
$custom_paged = $_GET['paged'];
$args['post_type'] = 'hoge';
$args['post_status'] = 'publish';
$args['paged'] = $custom_paged;
$custom_posts = new WP_Query( $args );
?>
<?php pager($custom_posts,$custom_paged);?>
function pager($wp_query,$paged, $pages = '', $range = 2){
	$showitems = ($range * 2)+1; 
	if($paged) global $paged;
	 if(empty($paged)) $paged = 1;
	 if($pages == '')
	{
		//global $wp_query;
		$pages = $wp_query->max_num_pages;
		if(!$pages)
		{
			$pages = 1;
		}
	}

	if(1 != $pages)
	{
	;?>
		<div class="pagenation">
			<ul>
				<li><?php if($paged > 1 ) echo "<a href='".get_pagenum_link($paged - 1)."'>&lsaquo;&lsaquo;</a>";?></li>
				<?php for ($i=1; $i <= $pages; $i++){
						if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) {
							echo ($paged == $i)? "<li><span class=\"current\">".$i."</span></li>":"<li class=\"link\"><a href='".get_pagenum_link($i)."' class=\"inactive\">".$i."</a></li>";
						}
					};?>
				<li><?php if ($paged < $pages) echo "<a href=\"".get_pagenum_link($paged + 1)."\">&rsaquo;&rsaquo;</a>";?></li>
			</ul>
		</div>

	<?php
	}
}

昔から使っていたどこかからコピペしたものをカスタム投稿などにも対応できるように汎用的なものに変更。
WP_Queryをちゃんと使うようになってきてから記事の出し方なんかの思考整理がちゃんとできるようになってきた気がする。

任意のキーで配列をソート[array_multisort]

便利だった。

	$taxonomies = get_the_terms($post->ID,$taxonomy);
	$taxonomies = json_decode(json_encode($taxonomies), true);
	foreach ($taxonomies as $key => $value){
		$key_id[$key] = $value['description'];
	}
	array_multisort ( $key_id , SORT_ASC , $taxonomies);

ディスクリプションをキーとしてソートしてる。
get_the_termsで取ってきたデータそのままだと中身が配列になっていないので

$taxonomies = json_decode(json_encode($taxonomies), true);

上記で中身を配列に変換。
そうすると、array_multisortが効くようになる。

正規表現

■Aタグを消去する

<a +.*?>.*?</a>

Aタグで囲まれた文字列もあわせすべて削除する。

■Aタグを消去する(挟まれている文字は消さないバージョン)

<a +.*?>(.*?)</a>

置換:$1

■特定の文字列があればその一行をHIT 耳かき対応版

.*PRコメント.*\r

文字数の表示制限[抜粋]

<?php
$str = strip_tags($post->post_content);
$str = $post->post_content;
$str = mb_substr($str, 0, 27, utf8);
print "$str";
?>

$str = mb_substr($str, 0, 27, “〜” ,utf8);
とかだと上手く動かない場合がある
さくらサーバなどだとサーバの設定を一部変更する必要がある。
こまったね。
$str = strip_tags($post->post_content);
抜粋表示させる場合、本文中にタグが含まれている可能性もあるのでタグを除去することも忘れぬように注意

strip_tagsの挙動について
-http://php.s3.to/man/function.strip-tags.html

配列の中に特定の文字列があった場合

function sozai_list($ee) {
$kuma = get_post_meta($ee,'ic');
$url = get_bloginfo('template_url');
echo "<ul class='tokutei'>";
if (in_array("mugi", $kuma)) {
    echo "<li class='tokutei'><img src='".$url."/img/menu/ic_komugi.gif' alt='小麦' /></li>";
}else{
    echo "<li class='tokutei'><img src='".$url."/img/menu/ic_komugioff.gif' alt='小麦' /></li>";
}
if (in_array("egg", $kuma)) {
    echo "<li class='tokutei'><img src='".$url."/img/menu/ic_tamago.gif' alt='卵' /></li>";
}else{
echo "<li class='tokutei'><img src='".$url."/img/menu/ic_tamagooff.gif' alt='卵' /></li>";
}
if (in_array("milk", $kuma)) {
    echo "<li class='tokutei'><img src='".$url."/img/menu/ic_nyuseihin.gif' alt='乳製品' /></li>";
}else{
echo "<li class='tokutei'><img src='".$url."/img/menu/ic_nyuseihinoff.gif' alt='乳製品' /></li>";
}
if (in_array("pi", $kuma)) {
    echo "<li class='tokutei'><img src='".$url."/img/menu/ic_rakasei.gif' alt='落花生' /></li>";
}else{
echo "<li class='tokutei'><img src='".$url."/img/menu/ic_rakaseioff.gif' alt='落花生' /></li>";
}
if (in_array("soba", $kuma)) {
    echo "<li class='tokuteilast'><img src='".$url."/img/menu/ic_soba.gif' alt='そば' /></li>";
}else{
echo "<li class='tokuteilast'><img src='".$url."/img/menu/ic_sobaoff.gif' alt='そば' /></li>";
}
echo "</ul>";
}

in_array("mugi", $kuma)

配列kumaの中にmugiの文字列があるかどうか、あればtrueがかえってくる。

You,タグ取っちゃいなYOなphpの関数

<?php
$text = get_the_title();
echo strip_tags($text);
?>|

strip_tags($text);

これで
<から>これで終わる文章をタグとみなし、その部分を空白にするというやつ。
改行タグなんかも削除されるよ。

除去したくないタグがある場合は

echo strip_tags($text, '<p><a>');

こうやるみたい。