transition_post_status
から投稿ステータスを変更するためのフックを使用していますprivate to publish
。ここでの問題は、管理者が投稿ステータスを非公開から公開に変更すると、投稿者が変更を取得することです。
カスタム投稿タイプabc
を作成し、フロント エンド経由でコンテンツを追加しました。デフォルトでステータスを非公開に設定しました。管理者がプライベートからパブリッシュに変更できるように。そのために、functions.php でフックを使用しています。
ここに私が使用したコードがあります
function _transition_post_status_1($new_status, $old_status, $post) {
global $wpdb;
if ( $old_status == 'private' && $new_status == 'publish' ) {
// Reset GUID if transitioning to publish and it is empty
$post_idd = $post->ID;
$post_7 = get_post($post_idd);
$post_athr = $post_7->post_author;
$auth_maill = get_the_author_meta( 'user_email', $post_athr );
if ( '' == get_the_guid($post->ID) ) {
$wpdb->update( $wpdb->posts, array( 'guid' => get_permalink( $post->ID ) ), array( 'ID' => $post->ID ) );
wp_mail($auth_maill,"Confirmation Email","Your Artist Campaign has been approved.");
do_action('private_to_published', $post->ID); // Deprecated, use private_to_publish
}
}
add_action( 'transition_post_status','_transition_post_status_1',5, 3);