我在我的网站上设置了重力表单,我想根据用户是否已在表单/数据库中发布条目来隐藏/显示表单。如果他们做了一个条目,那么我想隐藏它并显示一些简单的文本。
我知道重力形式允许你限制参赛人数,但这并不是我想要的。
我猜我必须查询数据库,但我不确定最好的编写方法。我是否需要使用诸如get\\u posts之类的工具来检查作者是否有条目?这是最好的方式吗?
我在我的网站上设置了重力表单,我想根据用户是否已在表单/数据库中发布条目来隐藏/显示表单。如果他们做了一个条目,那么我想隐藏它并显示一些简单的文本。
我知道重力形式允许你限制参赛人数,但这并不是我想要的。
我猜我必须查询数据库,但我不确定最好的编写方法。我是否需要使用诸如get\\u posts之类的工具来检查作者是否有条目?这是最好的方式吗?
试试这个;
<?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) 做你的事。。。
参考文献:
试试这个
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;