如果满足功能条件,则隐藏内容(PHP)

时间:2017-02-07 22:56:14

标签: php wordpress

我有一份基于联系表格7的注册表格,当提交的数量达到600时,我想隐藏。我正在使用联系表格数据库(CFDB)存储提交的数据,这是可能的生成一个短代码以输出提交的数量(下面称为“cfdb-count”)。

我正在使用Wordpress。

这是我尝试过的,但它不起作用:

<?php
$sumregistrations = " . do_shortcode('[cfdb-count form="The reg form"]') . ";
if ($sumregistrations > 600 ){
           // Hide the form
           }else {
           // Show the form 
           }
?>

编辑:这是解决此问题的有效方法:

<?php require_once(ABSPATH . 'wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php');
$exp = new CFDBFormIterator();
$exp->export('NAME OF THE FORM', array('show' => 'submit_time', 'trans' => 'CountField(submit_time)'));
$count = 0;
while ($row = $exp->nextRow()) {
    $count = $row['submit_time'];
}
if ($count > 600 ): ?>
    //Content to show if number of submissions are greater than 600.
<?php else : ?>
    //Content to show if number of submissions are less than 600.
    //For example, show the form <?php echo do_shortcode('[contact-form-7 id="112" title="NAME OF THE FORM"]'); ?>
<?php endif; ?>

1 个答案:

答案 0 :(得分:0)

$sumregistrations = do_shortcode('[cfdb-count form="The reg form"]');

当你真的不需要时,你已经创建了一个连接字符串的奇怪尝试。如果该短代码返回一个数字,则您不需要为其添加任何其他内容。

编辑:

在仔细阅读repository for this plugin后,此短代码会输出一个用HTML包装的字符串。因此,您不能使用它来比较600,因为它将始终返回false。您应该直接从db表中获取计数值。