我需要运行此代码,但需要您的帮助。它是一个带有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不可见或未运行。
答案 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
作为变量传递给函数。