【问题标题】:Don't print blank lines when data fields are empty数据字段为空时不打印空行
【发布时间】:2018-11-22 04:42:35
【问题描述】:

我正在使用 WordPress 的 WooCommerce 主题。如果表单字段留空,则结果会留下空白。我不想在表单的输入数据字段为空时打印空行。因此,如果表单中的 QC 和 QO 留空,它会在输出表单中打印一个空格。检查下图。

$res .= '<li class="acc-t"><span id="si"><u>QA:</u></span>';

if( ! empty( $feild1 ) )
    $res .= '<span id="hh" ><div class="acc-cont">' . $feild1 . '</div></span>';
$res .= '</li>';

if( ! empty( $feild2 ) )
    $res .= '<li class="acc-t"><span id="si"><u>QC:</u></span>';
$res .= '<span id="hh" ><div class="acc-cont">' . $feild2 . '</div></span>';
$res .= '</li>';

if( ! empty( $feild3 ) )
    $res .= '<li class="acc-t"><span id="si"><u>QO:</u></span>';
$res .= '<span id="hh" ><div class="acc-cont">' . $feild3 . '</div></span>';
$res .= '</li>';

if( ! empty( $feild4 ) )
    $res .= '<li class="acc-t"><span id="si"><u>QP:</u></span>';
$res .= '<span id="hh" ><div class="acc-cont">' . $feild4 . '</div></span>';
$res .= '</li>';

# Where feild xxx=get_post_meta($post->ID, '_input_feild xxx', TRUE);

如果留空,是否最好从帖子中删除元值,因为数据库可能充满空白元数据?我们应该删除带有空值还是 null 值的 meta_value。会影响什么吗?

【问题讨论】:

  • field 拼写错误为 feild

标签: css wordpress forms woocommerce


【解决方案1】:

您也可以使用它。试试看它是否有效...

$res .= '<li class="acc-t"><span id="si"><u>QA:</u></span>';

if( ! empty( $feild1 ) && strlen($feild1) > 0  )
    $res .= '<span id="hh" ><div class="acc-cont">'.$feild1.'</div></span>';
$res .= '</li>';

if( ! empty( $feild2 ) && strlen($feild2) > 0 )
    $res .= '<li class="acc-t"><span id="si"><u>QC:</u></span>';
$res .= '<span id="hh" ><div class="acc-cont">'.$feild2.'</div></span>';
$res .= '</li>';

if( ! empty( $feild3 ) && strlen($feild3) > 0 )
    $res .= '<li class="acc-t"><span id="si"><u>QO:</u></span>';
$res .= '<span id="hh" ><div class="acc-cont">'.$feild3.'</div></span>';
$res .= '</li>';

if( ! empty( $feild4 ) && strlen($feild4) > 0)
    $res .= '<li class="acc-t"><span id="si"><u>QP:</u></span>';
$res .= '<span id="hh" ><div class="acc-cont">'.$feild4.'</div></span>';
$res .= '</li>';

【讨论】:

  • 在黑色空间即将到来的 if 条件内做一个回显......让我知道输出
  • { echo "祝你今天愉快!"; }else { echo 'good day"'; } 没有错误
  • 不清楚。如果字段值预期为空,请在其中回显相应的字段值
  • 没有得到你,它仍然显示空白。所以....如果!空然后显示结果,如果没有显示我期望的空结果,但它显示字段 2 n 3 的空白区域
  • 解释一下。例如,想法/要点是什么?你改变了什么,为什么?来自the Help Center“...总是解释为什么你提出的解决方案是合适的以及它是如何工作的”。请通过editing (changing) your answer 回复,而不是在 cmets 中(without "Edit:"、"Update:" 或类似的 - 答案应该看起来像是今天写的)。
【解决方案2】:

试试这个代码:

$res .= '<li class="acc-t"><span id="si"><u>QA:</u></span>';

if( ! empty( stripslashes($feild1) ) )
    $res .= '<span id="hh" ><div class="acc-cont">' . $feild1 . '</div></span>';
$res .= '</li>';

if( ! empty( stripslashes($feild2) ) )
    $res .= '<li class="acc-t"><span id="si"><u>QC:</u></span>';
$res .= '<span id="hh" ><div class="acc-cont">' . $feild2 . '</div></span>';
$res .= '</li>';

if( ! empty( stripslashes($feild3) ) )
    $res .= '<li class="acc-t"><span id="si"><u>QO:</u></span>';
$res .= '<span id="hh" ><div class="acc-cont">' . $feild3 . '</div></span>';
$res .= '</li>';

if( ! empty( stripslashes($feild4) ) )
    $res .= '<li class="acc-t"><span id="si"><u>QP:</u></span>';
$res .= '<span id="hh" ><div class="acc-cont">' . $feild4 . '</div></span>';
$res .= '</li>';

试试这个 CSS:

.acc-t ul {
    margin-bottom:0px !important;
    margin-top:0px !important;
}

【讨论】:

  • 所有字段仍然有空白输出。任何其他解决方案
  • 使用 var_dump 打印$feild2 值并在这里分享我
  • C:\wamp\www\wordpress\wp-content\plugins\custom\custom.php:1127:string '' (length=0) ......这是我的代码按名称自定义以插件形式上传
  • C:\wamp\www\wordpress\wp-content\plugins\custom\custom.php:1123:string 'test' (length=4) 这是 $feild1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
  • 2020-11-28
  • 2016-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多