Display result of custom form

时间:2015-11-25 作者:Paul Negroni

我正在工作的网站可以列出餐馆,我们可以给它们打分。目前,我正在开发一个多标准搜索,以找到好的一个。

我使用XYZ HTML(插件)创建了一个自定义HTML表单,并将代码片段添加到页面:

the search page (1)the search page (2)

我在functions.php 拦截提交的文件(wp内容/主题/auberge):

function recherche_multi_critere() {
    if ( $_POST[\'nom\'] != NULL ) {
        // ...
    }
}    
add_action( \'template_redirect\', \'recherche_multi_critere\' );
但当我在这里时,我不知道如何使用数据创建自定义页面。例如,我想将所有与搜索匹配的餐厅列为链接。我能做什么?

PHP/MySQL版本:5.5.12/5.6.17主题:Auberge扩展:bbpress、Beaver Builder插件(Lite版本)、简洁的联系表单、显示帖子快捷码、页眉和页脚、插入HTML片段、插入PHP、Jetpack par WordPress。com、Livre d\'or Gwolle(Gwolle留言簿)、帖子PHP代码、帖子元检查器、终极会员、WordPress评论、WordPress评论提交、WP谷歌地图

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

首先,您的代码尝试使用$_POST[\'nom\'] 是否设置该值。每次运行时,都会生成非致命的“未定义索引”警告。清理并使用!empty($_POST[\'nom\']) 而不是$_POST[\'nom\']!=NULL.

具有template_redirect 您需要重定向到现有页面,如下所示from another answer:

function redirect_cat_wpse_207298() {
  if (is_category()) {
    global $post;
    wp_safe_redirect(get_permalink($post->ID));
    die;
  }
}
add_action(\'template_redirect\',\'redirect_cat_wpse_207298\');
既然你说“创建一个页面”,我猜没有可以重定向到的页面,所以你可能想要template_include 相反类似于:

function recherche_multi_critere() {
  if(!empty($_POST[\'nom\'])) {
    get_header();
    var_dump($_POST[\'nom\']);
    get_footer();
  }
}
add_action(\'template_include\', \'recherche_multi_critere\');