WordPress Snippet

ワードプレスをカスタマイズしよう

例えば、optionテーブルに自前で書き込みクラス。

ワードプレスのテーブル操作について、

 /**
  * レコードの追加や削除を行う クラス
  *
  *
  */
 //$h= new data_handle;
 //$h->data_add("tenman","test");
 //$h->data_change("raindrops-tenman","ahho");
 //$h->data_delete("raindrops-tenman","ahho");
 
 class data_handle{
 
  var $option_id;
  var $option_name;
  var $blog_id= 0;
  var $option_value;
 	var $autoload= "yes";
  var $field_name= array();
 
  /**
  * $var= "dangerous'"; // raw data that may or may not need to be escaped
  * $id = some_foo_number(); // data we expect to be an integer, but we're not certain
  *
  * $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_title= %s WHERE ID= %d", $var, $id ) );
  */
 
  /**
  * コンストラクタ
  *
  *
  */
  function __construct(){
  global $wpdb;
 
  $this->option_id = 'null';
 		$this->blog_id= 0;
  $this->option_name= '';
  $this->option_value= '';
  $this->autoload= '';
  $this->field_name= $wpdb->get_col_info('name');
  }
 
  function __destruct(){
  /**
  * word press オブジェクトキャッシュの作成
  *
  * 
  * う
  *
  */
  /* $cat_all= get_terms( 'category', 'fields=all&get=all&orderby=term_id' );
  wp_cache_replace( 'all_category_all', $cat_all, 'category' );*/
 
  }
  /**
  * レコードの追加
  *
  *
  */
  function data_add($name="",$text= "",$autoload= 'yes'){
  global $wpdb;
  $data_array= array('option_id'=>'null','blog_id'=>0,'option_name'=>"raindrops_".$name,'option_value'=>$text,'autoload'=>$autoload);
 
  $wpdb->insert( TMN_PLUGIN_TABLE, $data_array );
 
  }
  /**
  * フィールドの値の変更
  *
  *
  */
  function data_change($field,$val){
  global $wpdb;
 	/*	$id	= intval($id);
 		$field = sanitize_sql_orderby($field);
  $val = $wpdb->escape($val);*/
 
 //$wpdb->show_errors();
 $data_array= array('option_value'=> $val);
 $where_array= array('option_name'=> $field);
 
 $wpdb->update( TMN_PLUGIN_TABLE, $data_array, $where_array );
 		 
 //$wpdb->flush();
 
  
  }
  /**
  * レコードの削除
  *
  *
  */
  function data_delete($field,$val){
 
  global $wpdb;
 
 
  $wpdb->query( $wpdb->prepare("DELETE FROM `".TMN_PLUGIN_TABLE."` WHERE `".TMN_PLUGIN_TABLE."`.`option_name`= %d and `option_value`= %s LIMIT 1",like_escape($field),like_escape($val)) );
 
 
  }
 
 
 }

[emulsion_relate_posts]