在thankyou上显示内容 - WooCommerce

时间:2014-08-06 02:22:39

标签: php wordpress woocommerce

您好我尝试在结帐页面,购物车页面和感谢页面显示一些内容,购物车和结帐页面目前还可以,但我无法在感谢页面上显示正确的内容

这是我尝试做的事情

<?php if (is_checkout() || is_cart() && sizeof($woocommerce->cart->cart_contents) == !0 || woocommerce_get_page_id('thanks')) { ?>
    <div class="flow">
        <?php if (is_cart()) { ?>
            <?php
            $fase2 = "done";
            $fase3 = "wait";
            $fase4 = "wait";
            $icon2 = "<i class='fa fa-user'></i>";
            ?>
        <?php } elseif (is_checkout()) { ?>
            <?php
            $fase2 = "done";
            $fase3 = "done";
            $fase4 = "wait";
            $icon2 = "<i class='fa fa-check'></i>";
            $icon3 = "<i class='fa fa-user'></i>";
            ?>
        <?php } elseif (woocommerce_get_page_id('thanks')) { ?>
            <?php
            $fase2 = "done";
            $fase3 = "done";
            $fase4 = "done";
            $icon2 = "<i class='fa fa-check'></i>";
            $icon3 = "<i class='fa fa-user'></i>";
            $icon4 = "<i class='fa fa-user'></i>";
            ?>
        <?php } ?>
        <ul>
            <li><i class="fa fa-check"></i><span class="done">Product</span></li>
            <li><?php echo $icon2 ?><span class="<?php echo $fase2 ?>">Cart</span></li>
            <li><?php echo $icon3 ?><span class="<?php echo $fase3 ?>">Pay</span></li>
            <li><?php echo $icon4 ?><span class="<?php echo $fase4 ?>">Order Received</span></li>
        </ul>
    </div>

如何仅在thankyou页面上显示内容?

2 个答案:

答案 0 :(得分:5)

正如此处的其他回复中所述,函数woocommerce_get_page_id()已在WooCommerce 2.0中弃用并删除。这是因为以前版本的WooCommerce中的页面被端点替换(解析URL以找出应该显示的页面)。因此,函数woocommerce_get_page_id()由is_wc_endpoint_url()替换,您应该像这样使用它:

if( is_wc_endpoint_url( "order-received" ) ) 

答案 1 :(得分:1)

不推荐使用“woocommerce_get_page_id”功能。您可以使用WordPress条件标记来检查是否正在显示感谢页面。

请查看有关“is_single”功能的文档:http://codex.wordpress.org/Function_Reference/is_single

干杯, 达米恩