[英]Replace empty value php, html
我在一行代碼上遇到了一些麻煩。
這是一個價格字段,當不添加任何價格時,我希望它輸出“ NO PRICE”,而不是默認情況下只輸出一個空格,這是代碼,
<p class="post-price"><?php cp_get_price( $post->ID, 'cp_price' );?> </p>
我已經試過了
<p class="post-price"><?php cp_get_price( $post->ID, 'cp_price' ); echo 'NO PRICE'?> </p>
但這始終顯示NO PRICE。 我試圖只在cp_price值為空時顯示它。
如果有人可以伸出援手,我將不勝感激。
更新:
完整的后端代碼,
function cp_ad_loop_price() {
global $post;
if ( $post->post_type == 'page' || $post->post_type == 'post' )
return;
?>
<div class="price-wrap">
<span class="tag-head"> </span><p class="post-price"><?php cp_get_price( $post->ID, 'cp_price' );?></p>
</div>
<?php
}
add_action( 'appthemes_before_post_title', 'cp_ad_loop_price' );
沒有價值的前端
<div class="price-wrap">
<span class="tag-head"> </span><p class="post-price"> </p>
</div>
具有價值的前端
<div class="price-wrap">
<span class="tag-head"> </span><p class="post-price">£500.00</p>
</div>
希望這可以幫助。 謝謝
cp_get_price函數,
if ( !function_exists('cp_get_price') ) {
function cp_get_price( $postid, $meta_field ) {
global $cp_options;
if ( get_post_meta( $postid, $meta_field, true ) ) {
$price_out = get_post_meta( $postid, $meta_field, true );
$price_out = cp_price_format( $price_out );
$price_out = cp_pos_currency( $price_out, 'ad' );
} else {
if ( $cp_options->force_zeroprice )
$price_out = cp_pos_currency( 0, 'ad' );
else
$price_out = ' ';
}
echo $price_out;
}
}
假設cp_get_price($post->ID, 'cp_price')
返回一個空值而不是一個空格字符,則可以使用'or'運算符返回第一個計算為true
值
<?
$var = cp_get_price($post->ID, 'cp_price');
echo $var || 'NO PRICE';
?>
更新:
由於返回的是空格字符,因此可以使用以下命令:
<?
$var = cp_get_price($post->ID, 'cp_price');
echo ($var == ' ') ? 'NO PRICE' : $var;
?>
我真是個菜鳥。 我所需要的只是向正確方向的推動。 謝謝大家,現在解決了。
if ( !function_exists('cp_get_price') ) {
function cp_get_price( $postid, $meta_field ) {
global $cp_options;
if ( get_post_meta( $postid, $meta_field, true ) ) {
$price_out = get_post_meta( $postid, $meta_field, true );
$price_out = cp_price_format( $price_out );
$price_out = cp_pos_currency( $price_out, 'ad' );
} else {
if ( $cp_options->force_zeroprice )
$price_out = cp_pos_currency( 0, 'ad' );
else
$price_out = ' ';
}
echo $price_out;
}
}
我編輯了這一行
$price_out = ' ';
看起來像這樣
$price_out = 'NO PRICE';
謝謝。
<?php echo cp_get_price( $post->ID, 'cp_price' ) ? cp_get_price( $post->ID, 'cp_price' ) : 'NO PRICE'; ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.