如何在if语句中运行的HTML内应用PHP

时间:2019-05-05 15:59:22

标签: php html

我需要运行此代码,但需要您的帮助。它是一个带有if语句并结合到类别的PHP脚本。问题在于输出不完整。 php动作会返回需要在Wordpress后端的产品页面上应用的值,该动作应该在prijs日后显示在表格中,但不可见。

<?php
add_action( 'woocommerce_after_single_product_summary', 'bbloomer_single_category_slug' );

function bbloomer_single_category_slug() {

if ( has_term( 'verhuur-mini-gravers', 'product_cat' ) ) { ?>
<div class="view-right">
<h2>Verhuur prijzen</h2>
<table style="width:100%; border: 1px #000;">
<tr>
</tr>
<tr>
<td style="font-weight:500;">Dag prijs</td>
<td style="font-weight:500;">4 dagen prijs</td>
<td style="font-weight:500;">Week prijs</td><td>
</tr>
<tr>
<td>€ <?php echo get_post_meta( $post->ID, '_text_field_17', true ) ?></td>
<td>€ <?php echo get_post_meta( $post->ID, '_text_field_18', true ) ?></td>
<td>€ <?php echo get_post_meta( $post->ID, '_text_field_19', true ) ?></td>
</tr>
<tr>
</tr>
</table>
</div>
<?php; } elseif ( has_term( 'tables', 'product_cat' ) ) {
            echo 'Something else';
        }

    }?>

_text_field_17的值应随该值可见。现在,get_post_meta不可见或未运行。

1 个答案:

答案 0 :(得分:0)

欢迎光临!

好东西,您编写了一个函数来实现。您可能考虑缩进代码,以便在测试之前可以看到错误。

一种方法是只定义一个字符串$html并将所有内容存储在其中,最后返回该字符串,也许类似于:

add_action('woocommerce_after_single_product_summary', 'bbloomer_single_category_slug');

function bbloomerSingleCategorySlug($post)
{
    $html = '';
    if (isset($post) && has_term('verhuur-mini-gravers', 'product_cat')) {
        $html .= '<div class="view-right">';
        $html .= '<h2>Verhuur prijzen</h2>';
        $html .= '<table style="width:100%; border: 1px #000;">';
        $html .= '<tr></tr>';
        $html .= '<tr><td style="font-weight:500;">Dag prijs</td><td style="font-weight:500;">4 dagen prijs</td><td style="font-weight:500;">Week prijs</td><td></tr>';

        $html .= '<tr><td>€ ' . get_post_meta($post->ID, "_text_field_17", true) . '</td>';
        $html .= '<td>€ ' . get_post_meta($post->ID, "_text_field_18", true) . '</td>';
        $html .= '<td>€ ' . get_post_meta($post->ID, "_text_field_19", true) . '</td>';
        $html .= '</tr><tr>';
        $html .= '</table>';
        $html .= '</div>';
    } elseif (has_term('tables', 'product_cat')) {
        echo 'Something else';
    } else {
        echo 'Something is not right! Maybe, check the $post variable!';
    }
    echo $html;
}

我不太确定Woocommerce中的变量,您可能需要检查一下。如果需要,可以将$post作为变量传递给函数。