我有一份基于联系表格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; ?>
答案 0 :(得分:0)
$sumregistrations = do_shortcode('[cfdb-count form="The reg form"]');
当你真的不需要时,你已经创建了一个连接字符串的奇怪尝试。如果该短代码返回一个数字,则您不需要为其添加任何其他内容。
编辑:
在仔细阅读repository for this plugin后,此短代码会输出一个用HTML包装的字符串。因此,您不能使用它来比较600,因为它将始终返回false。您应该直接从db表中获取计数值。