私はフロントエンドの投稿フォーム(CF7)を持っています。そこには(もちろん他のデータも含めて)ユーザーが彼のEメールを入力します。今度はステータスを保留に設定します。
私が欲しいのは、ユーザーがautoresponderにメールを通すことです。クリックすると、ステータスがPUBLISHに変わります。これに対する解決策はありますか?自動返信は問題ではありません、私はこのリンクを設定する方法を知りません。
投稿が作成されてpending
に設定されたら、自動発行用の一意の識別子を作成します。次に例を示します。
$unique = md5( $post->post_content );
add_post_meta( $post->ID, '_auto_publish', $unique );
今すぐ電子メールのリンクを作成します。
$link = get_permalink( $post->ID );
$link = add_query_arg(
array(
'autopublish' => $unique,
'pid' => $post->ID
),
$link
);
このリンクを送信者のアドレスに送信してください。
print "<$link>";
次に、受信者がリンクをクリックしたときに一致する$_GET
パラメータを確認します。
if ( isset ( $_GET[ 'autopublish' ] )
and isset ( $_GET[ 'pid' ] )
and is_numeric( $_GET[ 'pid' ] )
and $post = get_post( $_GET[ 'pid' ] )
and $_GET[ 'autopublish' ] === get_post_meta( $post->ID, '_auto_publish', TRUE )
)
{
$post->post_status = 'publish';
wp_update_post( $post );
delete_post_meta( $post->ID, '_auto_publish' );
}