我想用get_post_meta
用下面的钩子,但它总是空的。我调整了优先级,看看这是否有帮助,但运气不好。有什么想法吗?
发布后,post meta肯定在db中。
function some_function( $new_status, $old_status, $post ) {
if ( ( $new_status == \'publish\' ) && ( $old_status != \'publish\' ) && ( $post->post_type == \'cpt\' ) ) {
// send admin notification
$post_title = get_the_title( $post->ID );
$message .= \'Name: \' . $post_title . \'<br>\';
$message .= \'Email: \' . get_post_meta($post->ID, \'_email\', true) . \'<br>\';
$headers[] = \'Content-Type: text/html; charset=UTF-8\';
$headers[] = \'From: \' . get_option( \'blogname\' ) . \' <\' . get_option( \'admin_email\' ) . \'>\';
wp_mail( get_option( \'admin_email\' ), $subject, $message, $headers );
} else {
return;
}
}
add_action( \'transition_post_status\', \'some_function\', 100, 3 );
The
post_title
在电子邮件中使用上述内容,只是没有元数据。
如果有其他更简单的方法,我洗耳恭听!