点击链接后发布帖子

时间:2013-08-11 作者:M P

我有一个前端投递表单(CF7),用户在其中输入(当然还有其他数据)他的电子邮件。现在,我将状态设置为挂起。

我想要的是,用户将通过自动应答器获得一封邮件,其中的链接用于更改单击时发布的状态。有什么解决办法吗?自动应答器不是问题,我不知道如何设置此链接。

1 个回复
SO网友:fuxia

创建帖子并将其设置为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\' );
}

结束

相关推荐

Show posts on a Google Map

通过自定义字段,我为每个帖子分配了地理坐标(纬度/经度)。现在,我想展示一个谷歌地图,每个帖子都有一个标记。你对如何有效地做到这一点有什么建议吗?EDIT: 已解决以下问题this G.M.\'s answer.