Skip to content

Instantly share code, notes, and snippets.

@miya0001
Last active February 6, 2016 11:06
Show Gist options
  • Save miya0001/5c76f0d1a29c815237b4 to your computer and use it in GitHub Desktop.
Save miya0001/5c76f0d1a29c815237b4 to your computer and use it in GitHub Desktop.
一回だけだよっ!ていうサンプル
<?php
add_action( 'shutdown', 'my_shutdown_callback' );
function my_shutdown_callback() {
do_action( 'custom_shutdown_hook' );
}
add_action( 'save_post', 'my_save_post_callback' );
function my_save_post_callback() {
add_action( 'custom_shutdown_hook', 'something' ); // save_postが複数回発火してもsomething()は一度しか発火しない
}
function something() {
// メールを送るとか
}
@miya0001
Copy link
Author

miya0001 commented Feb 6, 2016

例えば

add_action( 'init', 'test' );
add_action( 'init', 'test' );
add_action( 'init', 'test' );
add_action( 'init', 'test' );
add_action( 'init', 'test' );
add_action( 'init', 'test' );

function test() {
 global $n;
 $n = $n + 1; // add_action( 'init', 'test' );をなんどやっても$nの値は1
}

@miya0001
Copy link
Author

miya0001 commented Feb 6, 2016

do_action( 'init' ); を連打すると$nが増えるので注意

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment