我想创建一个简单的wordpress网站,在其中我想在页面上显示一个搜索框。在文本/搜索框中搜索字符串时,应基于该字符串进行外部API调用,并向用户显示API返回的数据。到目前为止,我已成功从以下URL引用代码-https://rapidapi.com/blog/integrate-external-api-wordpress/.
但我无法根据文本框中传递的字符串调用API。我在子主题文件页面中完成了以下代码:-
<div id="primary" <?php generate_do_element_classes( \'content\' ); ?>>
<main id="main" <?php generate_do_element_classes( \'main\' ); ?>>
<form action="" method="post">
Enter query:
<input type=text name="t1">
<br>
<br>
<input type=submit name="s">
<?php
/**
* generate_before_main_content hook.
*
* @since 0.1
*/
do_action( \'generate_before_main_content\' );
if(isset($_POST[\'s\'])){
echo "good";
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "******API URL*****/".$_POST[\'t1\'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-rapidapi-host: XYZ",
"x-rapidapi-key: ABc"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
}
/**
* generate_after_main_content hook.
*
* @since 0.1
*/
do_action( \'generate_after_main_content\' );
?>
</form>
</main>
</div>
<?php
/**
* generate_after_primary_content_area hook.
*
* @since 2.0
*/
do_action( \'generate_after_primary_content_area\' );
generate_construct_sidebars();
get_footer();
当我点击提交按钮时,它会显示“未找到页面”。