生成静态页面以显示API的搜索结果/详细信息

时间:2019-07-11 作者:Simon

我对WordPress相当陌生,但对PHP很有经验。我已经查看了其他示例,我看到的大多数代码示例都是关于创建帖子和挂接搜索结果列表以自定义显示的。

我拥有的是WordPress中的一个web表单,我截取该表单并将查询传递给外部API,然后返回结果列表。我不想使用IFRAME。

目前,我拥有的是一个表单,当页面上指定了一个短代码时,就会显示该表单,但当有人单击搜索按钮时,表单操作为空,因此它会返回到同一页面,如果它检测到“按钮”位于回发变量中,它会从API获取结果并显示它们。如果按钮不在那里,它将显示表单。

但这有两件事。我需要一个专门的结果页。搜索表单可以出现在任何地方,并以任何方式格式化,它可以是水平的、跨页面的、在侧栏中垂直的,或者只是在主体中大而粗体。

除此之外,我还需要能够单击结果中的一个条目,以便能够深入了解特定信息。

实现这一目标的最佳方式是什么?考虑到PHP,我想以某种方式通过编程注册两个URL或页面,我可以将表单操作设置为。或者,正如我刚刚想到的,我需要做的是创建两个新的动态页面,其中包含两个新的短代码,例如“short\\u code\\u result\\u list”和“short\\u code\\u result\\u detail”,注册这些短代码,然后以通常的方式调用函数,检查适当的GET/POST变量,如果没有设置这些变量,请像我们正在做的那样采取适当的操作来生成列表,并将用户引用回上一页。

您将如何实现这一目标?

1 个回复
SO网友:Abidur Rahman Abid

我在这方面不是很专业,但我有一个解决方案,你可以试试。您可以在WordPress中创建自定义页面模板,并将表单代码放置在该模板中,然后在另一个模板中创建结果页面,并使用POST方法将查询传递到结果页面模板。然后使用php,您可以使用$\\u POST获取搜索查询,并从API获取信息。我用我的一个插件做了同样的事情。

在搜索表单模板中:

<form action="yoursiteurl.com/resultpagename" method="post">
  <input type="text" name="search" />
</form>
在结果模板中:

$search_query = $_POST["search"];

$response = wp_remote_get(\'https://ecourier.com.bd/apiv2/?product_id=\' . $search_query);
$body = wp_remote_retrieve_body( $response );
$data = json_decode( $body, true );

var_dump($data);
让我知道这是否有效。

相关推荐

Editing a Search Form

我正在我的Wordpress网站上制作一个搜索表单。它有一个高级搜索框,其中有一个高级按钮,单击该按钮可删除要包含的自定义过滤器。https://ibb.co/R7DFC1F >> 我想删除这个高级按钮,而下面的所有过滤器[类型、省、类别和价格]必须保持不变(不点击任何内容)。我的暂存网站位于http://f1stock.info/1 <div class=\"iw-field iw-display-table-cell field-for-add-advanced\">&#