Twillio如何发送定制邮件类型的短信

时间:2020-05-07 作者:Chris Parsons

Twillio有一个教程,其中一个插件可以在发布“post”时发送短信通知。我面临的问题是,每天都会发布许多类型的“帖子”,这会产生大量恼人的测试消息。因此,我试图修改代码,以便使用自定义帖子类型生成SMS。到目前为止,我无法在CPT中发布名为“SMS”的帖子时成功生成SMS事件。下面是我的一个尝试。我尝试了一个条件为我的CPT运行代码,但它不起作用(对于“post”类型或默认post很好)


function post_published_notification( $ID, $post ) {

  //$post_type = get_post_type($post);

  if ( get_post_type($post, get_the_ID() ) == \'SMS\' ) {

    $sid = \'##########\';
    $token = \'#############\';
    $from = \'+1530#######\';
    $client = new Client($sid, $token);

    $title = $post->post_title;
    $body = sprintf(\'New Post: %s\', $title);

    $blogusers = get_users(\'blogid=$ID&role=subscriber\');
    foreach ($blogusers as $user) {
      $to = get_user_meta($user->ID, \'mobile\', true);
      if (intval($to) == 0) {
        continue;
      }
      $client->messages->create(
        $to,
        array(
          \'from\' => $from,
          \'body\' => $body
        )
      );
    }
  }
}

add_action(\'publish_post\', \'post_published_notification\', 10, 2);

1 个回复
最合适的回答,由SO网友:Brooke. 整理而成

你应该可以改变publish_postpublish_sms 然后删除任何条件逻辑。这是由于以下挂钩造成的:https://developer.wordpress.org/reference/hooks/new_status_post-post_type/

这有点旁白,但我假设你已经定义了post type keysms (全部小写)如果不是,则可能需要使用publish_SMS 但通常最好使用小写键。