WordPressで個人的によく使う処理とか

WordPressを使ってみて、よく使った処理の個人的な備忘録です。

個人的なメモなので、あれなのはご勘弁ください。

記事IDからカスタムフィールドを取得する

[php]
function getPostmetaList($post_id){
global $wpdb;
$sql = "SELECT meta_value FROM $wpdb->postmeta WHERE post_id = ‘" . $post_id . "’";
$result = $wpdb->get_results($sql);
return $result;
} [/php]

単体ページ(single.php)内で同じカテゴリに属するひとつ前の投稿とひとつ後の投稿を取得する

[php]
function getRerationPosts($cat_id,$post_id){
global $wpdb;
$sql = "SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id IN (‘".$cat_id."’)";
$posts = $wpdb->get_results($wpdb->prepare( $sql ));
$rerationPosts= array();
foreach($posts as $val){
if( $post_id < $val->object_id ):
array_push($nexts,$val->object_id);
endif;
if( $post_id > $val->object_id ):
array_push($prevs,$val->object_id);
endif;
}
$rerationPosts["next"] = min($nexts);
$rerationPosts["prev"] = max($prevs);
return $rerationPosts;
} [/php]

stdClassをArrayに変換

[php]
function stdclassToArray($obj) {
$array = (array) $obj;
$keys = array_keys($array );
$count = count($keys );
for($i=0;$i<$count ;$i++){
$array [$keys [$i]] = (array) $array [$keys [$i]];
}
return $array ;
}
[/php]

記事IDからギャラリーに登録された画像URL一覧を取得する

[php]
function attachmentFile($post_id,$type){
/$type thumbnail, medium, large, full のいづれか/ $args = array(
‘post_parent’ => $post_id,
‘post_type’ => ‘attachment’,
‘post_mime_type’ => ‘image’
);
$attachmentFiles = array();
$images = get_children($args);
foreach ( (array) $images as $attachment_id => $attachment ):
$temp = wp_get_attachment_url( $attachment_id, $type );
array_push($attachmentFiles,$temp);
endforeach;
return $attachmentFiles;
}
[/php]

Comments