2017-12-17 24 views
1

おはようございます。 function.phpを変更するカスタムフィールドのリストを設定しました。すべてが機能しますが、フィールドが空のときは非表示にします。私はそれについて多くの記事を読んだが、私は自分の問題を取り除くことはできない。フィールドが空の場合は、カスタムフィールドをリストに表示しないでください。

ここで私が持っているPHPコード:

// Show advanced custom fields in product detail page 
 
add_action('woocommerce_single_product_summary', "ACF_product_content", 26); 
 
    
 

 
function ACF_product_content(){ 
 

 
    
 
    if (function_exists('the_field')){ 
 
    echo '<b>MATERIA: </b>'; 
 
    the_field('materia'); 
 
echo "<br />"; 
 
    echo '<b>FECHA DE EDICIÓN: </b>'; 
 
    the_field('fecha_de_edicion'); 
 
echo "<br />"; 
 
echo '<b>LUGAR DE EDICIÓN: </b>'; 
 
    the_field('lugar_de_edicion'); 
 
echo "<br />"; 
 
echo '<b>ISBN: </b>'; 
 
    the_field('isbn'); 
 
echo "<br />"; 
 
echo '<b>ISBN DIGITAL: </b>'; 
 
    the_field('isbn_digital'); 
 
echo "<br />"; 
 
echo '<b>ENCUADERNACIÓN: </b>'; 
 
    the_field('encuadernacion'); 
 
echo "<br />"; 
 
echo '<b>INTERIOR: </b>'; 
 
    the_field('interior'); 
 
echo "<br />"; 
 
echo '<b>MEDIDAS: </b>'; 
 
    the_field('medidas'); 
 
echo "<br />"; 
 
echo '<b>NÚMERO DE PÁGINAS: </b>'; 
 
    the_field('numero_de_paginas'); 
 
echo "<br />"; 
 
echo '<b>IDIOMA: </b>'; 
 
    the_field('idioma'); 
 
echo "<br />"; 
 
echo '<b>CÓDIGOS IBIC: </b>'; 
 
    the_field('ibic'); 
 
    } 
 
    
 
}

それが空の場合は誰もが、このフィールドのいずれかを隠すために私を助けることができますか? ありがとう

+0

チェックは、' if'がfalseの場合、それを印刷しないことにより、それを隠します。あなたはおそらくこれをforループと配列または何かを使ってもっときれいにすることができますが、基本的なifは開始です。 – Jite

答えて

1

代わりにget_fieldを使用し、条件を使用して、フィールドが空でないかどうかを確認してからechoフィールドを確認します。

例:フィールドは `if`と空の場合

$materia = get_field('materia'); 
if($materia) { 
    echo '<b>MATERIA: </b>'; 
    echo $materia; 
} 
+0

ありがとうございました。答えは完璧です – Stefano

+0

@Stefanoいいです。答えを受け入れることを忘れないでください。 :) – Shibi

関連する問題