一発出来茶太郎のバーチャル旅行

テスト

My heading is awesome

My heading is awesome

いいねボタン

0

いいねボタン

[bfcc id=”christmas_day”] counter_shortcode($atts) { global $bf_click_counter, $bf_click_ip; extract(shortcode_atts(array( ‘id’ => ‘default’, ‘text’ => ”, ‘class’ => ‘bf-click-counter’ ), $atts)); $button_text = $text; $button_class = $class; // カウント数、IPアドレスの取得 $count = isset($bf_click_counter[$id]) ? $bf_click_counter[$id] : 0; $ipaddress = isset($bf_click_ip[$id]) ? $bf_click_ip[$id] : ”; // IPアドレスが一致している場合はカウントしない if($_SERVER[‘REMOTE_ADDR’] == $ipaddress) { $count–; // カウンターをデータベース更新 bf_click_counter_update_count($id, $count); } // ボタン表示 $output = ‘ ‘; $output .= ‘ ‘; $output .= ‘ ‘; return $output; } add_shortcode(‘bf-click-counter’, ‘bf_click_counter_shortcode’); /** * クリック時の処理。カウントを更新する。 * * @access public * @return void */ function bf_click_counter_update_count_ajax() { global $wpdb; $id = $_POST[‘id’]; // ボタンのID // カウント数、IPアドレスの取得 $table_name = bf_click_counter_get_table_name(); $results = $wpdb->get_results(“SELECT * FROM $table_name WHERE keyname = ‘$id'”); if(empty($results)) { $count = 0; $ipaddress = ”; // 新しいレコードを追加 $wpdb->insert( $table_name, array( ‘keyname’ => $id, ‘count’ => $count + 1, ‘ipaddress’ => $_SERVER[‘REMOTE_ADDR’], ‘register_datetime’ => current_time(‘mysql’), ‘update_datetime’ => current_time(‘mysql’) ), array( ‘%s’, ‘%d’, ‘%s’, ‘%s’, ‘%s’ ) ); } else { // レコードが存在する場合はカウント数を更新 $count = $results[0]->count; $ipaddress = $results[0]->ipaddress; // IPアドレスが一致していない場合はカウント更新 if($_SERVER[‘REMOTE_ADDR’] != $ipaddress) { $wpdb->update( $table_name, array( ‘count’ => $count + 1, ‘ipaddress’ => $_SERVER[‘REMOTE_ADDR’], ‘update_datetime’ => current_time(‘mysql’) ), array(‘keyname’ => $id), array( ‘%d’, ‘%s’, ‘%s’ ), array(‘%s’) ); } } $count++; // カウントを返す echo $count; exit; } add_action(‘wp_ajax_bf-click-counter-update-count’, ‘bf_click_counter_update_count_ajax’); add_action(‘wp_ajax_nopriv_bf-click-counter-update-count’, ‘bf_click_counter_update_count_ajax’); /** * カウント数を更新する * * @param mixed $id * @param mixed $count * @return void */ function bf_click_counter_update_count($id, $count) { global $wpdb; $table_name = bf_click_counter_get_table_name(); $wpdb->update( $table_name, array( ‘count’ => $count, ‘update_datetime’ => current_time(‘mysql’) ), array(‘keyname’ => $id), array( ‘%d’, ‘%s’ ), array(‘%s’) ); } ?>
[bfcc id=”001″]
いいねボタン

0