Skip to content

Instantly share code, notes, and snippets.

View horike37's full-sized avatar

Takahiro Horike horike37

  • Serverless Operations, Inc
  • Japan
View GitHub Profile
@horike37
horike37 / gist:7372327
Last active December 27, 2015 18:49
my_cron_schedule_handlerで登録したwp_cronで処理が実行されなかった際に、再実行するコード
<?php
add_action('init', 'my_cron_schedule');
function my_cron_schedule() {
if ( get_option('my_cron_schedule_locked') == 1 )
return;
$crons = _get_cron_array();
foreach ( $crons as $time => $time_cron_array ) {
if ( array_key_exists( 'my_cron_schedule_handler', $time_cron_array ) ) {
@horike37
horike37 / gist:7410391
Last active July 25, 2016 12:46
Trust Formの管理者宛メールの件名をカスタマイズする
<?php
add_filter( 'tr_subject_admin_mail', 'my_tr_subject_admin_mail', 10, 3 );
function my_tr_subject_admin_mail( $subject, $data, $id ) {
$responce = get_post_meta( $id, 'answer' );
krsort($responce);
$entry_id = key($responce);
return $subject . '[id:'.$entry_id.']';
}
@horike37
horike37 / gist:9885058
Last active August 29, 2015 13:57
WordPressで管理画面に独自に追加したページに表示オプションを追加する
<?php
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
global $my_plugin_page;
$my_plugin_page = add_options_page('My Plugin Options', 'My Plugin', 'Administrator', __FILE__, 'my_plugin_options');
add_action("load-$my_plugin_page", my_screen_options);
}
function my_screen_options() {
@horike37
horike37 / Lambdaのstart-incetanceファンクション
Last active August 29, 2015 14:13
Ruby on RailsからLambdaをキックしてOpsWorks管理のEC2を起動させる ref: http://qiita.com/horike37/items/9afe446ffc8478e46ee3
const ACCESS_KEY = '<ACCESS_KEY>';
const SECRET_KEY = '<SECRET_KEY>';
var AWS = require('aws-sdk');
AWS.config.update({accessKeyId: ACCESS_KEY, secretAccessKey: SECRET_KEY});
exports.handler = function(event, context) {
var opsworks = new AWS.OpsWorks();
opsworks.describeInstances( {InstanceIds : [event.instance_id]},function(err, data) {
if (err) {
@horike37
horike37 / gist:40b8a5d2a9d549a70792
Last active August 29, 2015 14:18
WordPressでユーザのメアドを無効化する
<?php
require_once( 'wp-load.php' ); //スクリプト設置位置によってパスを変える
$users = get_users();
foreach ( $users as $user ) {
wp_update_user( array( 'ID' => $user->ID, 'user_email' => $user-> user_email.'.example') );
}
@horike37
horike37 / setting.json
Last active August 29, 2015 14:20
WordPressのバージョンアップを実施した際に回帰テストを行う ref: http://qiita.com/horike37/items/87f9e178e35ece82daa7
{
"login": {
"url":"http://wordpress.local/wp-login.php",
"account_id":"admin",
"account_pass":"admin"
}
}
@horike37
horike37 / selenium-dislay.js
Last active August 29, 2015 14:20
トップ、アーカイブ、シングルのPCとSPの表示確認とキャプチャを取得するSelenium Webdriverのコード
var webdriver = require('selenium-webdriver');
var t = require('selenium-webdriver/testing');
var driver;
var By = webdriver.By;
var until = require('selenium-webdriver').until;
var setting = require('./setting.json');
var fs = require('fs');
var expect = require('expect.js');
var timestamp = Math.floor( new Date().getTime() / 1000 );
@horike37
horike37 / file0.js
Last active June 16, 2016 19:18
Amazon API Gateway + Lambda + CloudSearchで検索APIサービスを作ってみる ref: http://qiita.com/horike37/items/3e37ff6416f6cf2a7934
var aws = require('aws-sdk');
var cloudsearchdomain = new aws.CloudSearchDomain({
endpoint: '<CloudSearchのエンドポイント>'
});
exports.handler = function(event, context) {
var params = {
query:event.q
};
@horike37
horike37 / file0.js
Last active August 29, 2015 14:25
Amazon API Gateway + Lambda + Amazon Machine Learning で会員の購買予測が出来るWordPressプラグインを作る ref: http://qiita.com/horike37/items/cd9995e986249d011a7b
var aws = require('aws-sdk');
var machinelearning = new aws.MachineLearning();
var params = {
MLModelId: '<Machine LearningのモデルID>'
};
exports.handler = function(event, context) {
machinelearning.getMLModel(params, function(err, data) {
if (err) {
console.log(err, err.stack);
@horike37
horike37 / AML-PHP-Script.php
Last active September 30, 2015 04:13
Amazon Machine Learningのモデル作成から評価、データ予測を行うまでのPHPスクリプト
<?php
require_once("vendor/autoload.php");
Use Aws\MachineLearning\MachineLearningClient;
$hash_value = mt_rand();
$client = MachineLearningClient::factory(array('version'=>'2014-12-12','region'=>'us-east-1'));
//訓練データ定義