我正在使用wordpress codex中的代码:(这是通用版本,但我的代码正在运行)
$response = wp_remote_post( $url, array(
\'method\' => \'POST\',
\'timeout\' => 45,
\'redirection\' => 5,
\'httpversion\' => \'1.0\',
\'blocking\' => true,
\'headers\' => array(),
\'body\' => array( \'name\' => \'bob\', \'email\' => \'[email protected]\' ),
\'cookies\' => array()
)
);
if ( is_wp_error( $response ) ) {
$error_message = $response->get_error_message();
echo "Something went wrong: $error_message";
} else {
echo \'Response:<pre>\';
print_r( $response );
echo \'</pre>\';
}
我正在试图找到一个表单,用户可以输入他们的姓名和电子邮件地址,然后提交给我们,添加到新闻稿中。
所以基本上我想让主体条目是动态的
我在想这样一种形式:
<form name="getUserInfo" action="NOT SURE WHAT GOES HERE" method="post">
<input type="text" name="name" />
<input type="email" name="email" />
<input type="submit" name="submit" value="submit"/>
</form>
但我不知道如何将其发送到代码
我相信这是我改变这条路线的方法:
\'body\' => array( \'name\' => \'bob\', \'email\' => \'[email protected]\' ),
至
\'body\' => array( \'name\' => \'$namefromform\', \'email\' => \'$emailfromform\' ),
我知道我错过了什么,但我不确定。
一般来说,我希望它作为一个小部件运行,使我的新闻稿注册在网站的页脚。
如果有人想知道我为什么需要一个api,那是因为我帮助创建网站的公司将他们的所有联系人发送到一个更大的第三方联系人管理系统。
最合适的回答,由SO网友:rudtek 整理而成
我发现我错过了什么。可能对某些人来说很简单,但如果其他人有类似的问题,那么这篇文章值得发表。我将表单中的帖子信息设置为变量,然后在wp\\u remote\\u post中分配它们。
我首先重新填写表格,为其添加特定名称:
<form name="getUserInfo" action="\' . esc_url( $_SERVER[\'REQUEST_URI\'] ) . \'" method="post">
<input type="text" name="name" />
<input type="email" name="email" />
<input type="submit" name="submit" value="submit"/>
</form>
然后,我根据表单数据分配变量。
$name = sanitize_text_field( $_POST["rt-name"] );
$email = sanitize_email( $_POST["rt-email"] );
在我原来的问题中,他们被添加到正文行的位置:
\'body\' => array( \'name\' => \'$name\', \'email\' => \'$email\' ),
然后,我在我的wp\\u remote\\u帖子周围添加了一条if/Then语句:
if ( isset( $_POST[\'rt-submitted\'] ) ) { wp_remote_post here }
因此,它仅在表单中的post信息存在时运行。
工作正常。
这篇文章也部分归功于:shortcode doesn't work