2014/1/26

WordPressでモジュール化したカスタム投稿タイプのカスタムフィールドの値を読み込む(長い)

以前、カスタム投稿タイプをモジュール化してあげて、それをfunctions.phpの関数から呼び出すというのをやりました。

WordPressのパーツのモジュール化のアイデア : kosukekato.com

これの応用編で、モジュール化されたカスタム投稿タイプのカスタムフィールドの値を参照して呼び出す、というのを作りました。こんな感じでfunctions.phpに用意しておいて。

function get_page_id_by_slug($page_slug) {
	global $wpdb;
	return $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type='module'", $page_slug ));
}

function load_custom_value( $posttype, $name, $value) {
	$pagid = get_page_id_by_slug($name);
  $parm = array(
  'post_type'=>$posttype,
  'name'=>$name
  );
  query_posts($parm);
  if (have_posts()) : while (have_posts()) : the_post();
    $output = get_post_meta($pagid,$value, TRUE);
  endwhile;
  endif;
  wp_reset_query();
  return $output;
}

んで、テンプレートで、

<?php echo load_custom_value('module','carousel','停止時間'); ?>

みたいな感じで呼び出すと。

こうすると、jQueryの実行時の設定とかも管理画面からいじれますよね、と思い。実装が多くなると、マニアネタが増える。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263