• I’m trying to change a function, old and new are here https://pastebin.com/QZaXFiVk My problem with the new code is that if both meta values are empty, I should have no <div> in return, how can I manage it? And also I should able to add something for the indefinite variable

    The page I need help with: [log in to see the link]

Viewing 3 replies - 1 through 3 (of 3 total)
  • You can try the below structure. If both values are empty no div will be returned and in the else statement you can handle each meta for indefinite/empty meta.

    $importo_cauzione_author = esc_html__(get_the_author_meta( 'importo_cauzione', $post->post_author ), 'sacconicase');
    $importo_cauzione_meta = get_post_meta( $post->ID, "function_cauzione", true );

    // Check if both are empty, then return nothing
    if ( empty( $importo_cauzione_author ) && empty( $importo_cauzione_meta ) ) {
    $importo_cauzione = ''; // No <div> returned
    } else {
    // Construct the output only if at least one value is not empty
    $importo_cauzione = '<div class="imp_cauzione">';

    if ( ! empty( $importo_cauzione_author ) ) {
    $importo_cauzione .= $importo_cauzione_author;
    } else {
    $importo_cauzione .= 'Indefinite author'; // Placeholder
    }

    if ( ! empty( $importo_cauzione_meta ) ) {
    $importo_cauzione .= ' ' . $importo_cauzione_meta . ' euro'; // Add post meta
    } else {
    $importo_cauzione .= ' Indefinite amount'; // Placeholder
    }

    $importo_cauzione .= '</div>';
    }
    Thread Starter sacconi

    (@sacconi)

    it seems it works… I just replaced ‘Indefinite author’ by ” and ‘Indefinite amount’ by ”

    I didnt konw this construction, it seems the output inside the <div> is $importo_cauzione_author + $importo_cauzione_meta + euro, I dont undestand which syntax element unite $importo_cauzione_author and $importo_cauzione_meta exacly in this order

    The syntax element that combines $importo_cauzione_author and $importo_cauzione_meta in this order is basic string concatenation in PHP using the .= operator

    1. $importo_cauzione = '<div class="imp_cauzione">'; (Initialization)
      – <div class=”imp_cauzione”>
    2. $importo_cauzione .= $importo_cauzione_author; (First Concatenation)
      – <div class=”imp_cauzione”>$importo_cauzione_author
    3. $importo_cauzione .= ' ' . $importo_cauzione_meta . ' euro'; (2nd Concatenation)
      – <div class=”imp_cauzione”>$importo_cauzione_author $importo_cauzione_meta euro
    4. $importo_cauzione .= '</div>'; (close div)
Viewing 3 replies - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.