我希望仅在已输入文本字段的内容时才显示它

时间:2019-02-03 作者:John Cook

我的第一个插件需要一些帮助。它不是一个很大的插件,由一个小的设置页面和3个文本字段组成,这些文本字段显示在woocommerce签出页面上,带有一些css。

不过我有一点进退两难。我只想在字段有显示内容时显示它们。当它们为空时,它将显示背景css样式,并且在单击时仍会显示。我只想在字段为空时不显示它。

在插件的公共文件夹中,我得到了这个。我希望有人能为我解释一下

// first button below billing form
add_action(\'woocommerce_after_checkout_billing_form\', \'show_my_message\');
    function show_my_message() {

    $wc_checkout_message_settings = get_option(\'wc_checkout_message_settings\');

        echo $wc_checkout_message_settings[wc_checkout_message_text_field_0];

        echo \'<br>\';

        echo $wc_checkout_message_settings[wc_checkout_message_text_field_1];

} 
// second set of buttons linking to payment only section
add_action(\'woocommerce_review_order_before_payment\', \'show_new_message\');
    function show_new_message(){

    $wc_checkout_message_settings = get_option(\'wc_checkout_message_settings\');

    echo $wc_checkout_message_settings[wc_checkout_message_text_field_2];

}

1 个回复
最合适的回答,由SO网友:hamdirizal 整理而成

echo 在if语句中。

function show_my_message() {
  $settings = get_option(\'wc_checkout_message_settings\');

  //Check if the array is set
  if( isset($settings[\'wc_checkout_message_text_field_0\']) && !empty($settings[\'wc_checkout_message_text_field_0\']) ){
    echo $settings[\'wc_checkout_message_text_field_0\'];   
  } 

  //Check the other value and show it
  if(isset($settings[\'wc_checkout_message_text_field_1\']) && !empty($settings[\'wc_checkout_message_text_field_1\']) ){
    echo $settings[\'wc_checkout_message_text_field_1\']; 
  }

} 

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: