wordpress woocommerce 简码

wordpress woocommerce shortcode

当我们请求这个短代码时,我从这个函数中得到一个错误

function salex_func( $atts ){
   global $product;
if($product->is_on_sale()){
        echo '<span class="onsale soldout">';
    echo __( 'SALE!!!!', 'hello');
    echo '</span>';
}   
}
add_shortcode('saletex', 'salex_func');

您无法回显简码输出。你必须return它。

function salex_func( $atts ){
   global $product;
    if($product->is_on_sale()){
        $output = '<span class="onsale soldout">';
        $output .= __( 'SALE!!!!', 'hello');
        $output .= '</span>';
     }
    return $output;   
}
add_shortcode('saletex', 'salex_func');

您不需要在短代码函数中回显。

您可以试试这个代码:

function salex_func( $atts ){
    global $product;
    if($product->is_on_sale()){ 
        ob_start(); ?>
        <span class="onsale soldout"><?php __( 'SALE!!!!', 'hello'); ?></span>
        <?php return ob_get_clean();
    }   
}
add_shortcode('saletex', 'salex_func');