私のテーマでは、メタボックス値が変更されたときに作者に通知される関数を作成したいと思います。
事実上、私は<option value="<the user's ID>"
で、あるレベルのユーザーロール(カスタムユーザーロール)をループするカスタムメタボックスを持っています。
私は以下のコードで作者を変えることによってこれをすることができました:
function check_values($post_ID, $post_after, $post_before){
if( $post_after->post_author !== $post_before->post_author ) {
$author = $post_after->post_author; /* Post author ID. */
$name = get_the_author_meta( 'display_name', $author );
$email = get_the_author_meta( 'user_email', $author );
$title = $post_after->post_title;
$permalink = get_permalink( $ID );
$edit = get_edit_post_link( $ID, '' );
$to[] = sprintf( '%s <%s>', $name, $email );
$subject = sprintf( 'Published: %s', $title );
$message = sprintf ('Congratulations, %s! Your article “%s” has been published.' . "\n\n", $name, $title );
$message .= sprintf( 'View: %s', $permalink );
$headers[] = '';
wp_mail( $to, $subject, $message, $headers );
}
}
add_action( 'post_updated', 'check_values', 10, 3 );
get_post_meta( get_the_ID(), 'key_1', true );
を追加しようとしましたが、post_updated
のコーデックスを見てみました$post_before->$meta_key
または$post_after->$meta_key
を呼び出すことが可能かどうかわかりませんでした
これを行う方法はありますか?それとも作り付けの値のためだけにですか?
@SamuelElhのコメントのように、これが私がそれを解決した方法です:
add_action('updated_post_meta', 'check_meta_change', 0, 4);
function check_meta_change($meta_id, $post_id, $meta_key, $meta_value) {
if( '<ENTER YOUR META KEY>' == $meta_key ) {
// do stuff
}
}