Hide gravity forms

时间:2012-05-13 作者:user537137

我在我的网站上设置了重力表单,我想根据用户是否已在表单/数据库中发布条目来隐藏/显示表单。如果他们做了一个条目,那么我想隐藏它并显示一些简单的文本。

我知道重力形式允许你限制参赛人数,但这并不是我想要的。

我猜我必须查询数据库,但我不确定最好的编写方法。我是否需要使用诸如get\\u posts之类的工具来检查作者是否有条目?这是最好的方式吗?

2 个回复
SO网友:Adam

试试这个;

<?php 

    $user = wp_get_current_user();

    if ( count_user_posts( $user->ID ) >= 1 ) {

        // echo your text snippet

    } else {

        // echo your form

    }

?>
(1)wp_get_current_user() 返回WP_User 对象,其中包含该用户的许多属性。

2) 由于我们只需要当前用户的ID,因此在本例中,我们分配了一个可选变量$user 这等于。$user = wp_get_current_user().

3) 然后,我们可以通过声明$user->ID

4) 我们通过了$user->ID 给我们count_user_posts( $user->ID) 然后根据大于或等于1个立柱的条件测量的函数。

5) 做你的事。。。

参考文献:

SO网友:Domain

试试这个

    global $wpdb;
    $user = wp_get_current_user();
    $sql = "SELECT id from " . $wpdb->prefix . "rg_lead WHERE created_by=" . $user->ID;
    $results = $wpdb->get_results($sql);
    if (count($results) > 0) {
        // An entry is made by the user for any form
    }
    else{ 
         // Show form
    }
如果您知道表单id,例如$form\\u id,则使用

$sql = "SELECT id from " . $wpdb->prefix . "rg_lead WHERE created_by=" . $user->ID . " AND form_id=" . $form_id;

结束

相关推荐