使功能WPML兼容

时间:2018-12-23 19:44:17

标签: wordpress function wpml

如何使follow函数与wpml兼容?目前,只有变体显示为已翻译;该属性当前以第一语言显示,但在其他信息上,两种语言都完美无缺。

function isa_woocommerce_all_pa(){

global $product;
$attributes = $product->get_attributes();
if ( ! $attributes ) {
    return;
}

$out = '<ul class="custom-attributes">';

foreach ( $attributes as $attribute ) {


    // skip variations
    if ( $attribute->get_variation() ) {
    continue;
    }
    $name = $attribute->get_name();
    if ( $attribute->is_taxonomy() ) {

        $terms = wp_get_post_terms( $product->get_id(), $name, 'all' );
        // get the taxonomy
        $tax = $terms[0]->taxonomy;
        // get the tax object
        $tax_object = get_taxonomy($tax);
        // get tax label
        if ( isset ( $tax_object->labels->singular_name ) ) {
            $tax_label = $tax_object->labels->singular_name;
        } elseif ( isset( $tax_object->label ) ) {
            $tax_label = $tax_object->label;
            // Trim label prefix since WC 3.0
            if ( 0 === strpos( $tax_label, 'Product ' ) ) {
               $tax_label = substr( $tax_label, 8 );
            }                
        }


        $out .= '<li class="' . esc_attr( $name ) . '">';
        $out .= '<span class="attribute-label">' . esc_html( $tax_label ) . ': </span> ';
        $out .= '<span class="attribute-value">';
        $tax_terms = array();
        foreach ( $terms as $term ) {
            $single_term = esc_html( $term->name );
            if ( $single_product ) {
            $term_link = get_term_link( $term );
            if ( ! is_wp_error( $term_link ) ) {
    $single_term = '<a href="' . esc_url( $term_link ) . '">' . esc_html( $term->name ) . '</a>';
}
}


array_push( $tax_terms, $single_term );
    }
        $out .= implode(', ', $tax_terms);
        $out .= '</span></li>';

    } else {
        $value_string = implode( ', ', $attribute->get_options() );
        $out .= '<li class="' . sanitize_title($name) . ' ' . sanitize_title( $value_string ) . '">';
        $out .= '<span class="attribute-label">' . $name . ': </span> ';
        $out .= '<span class="attribute-value">' . esc_html( $value_string ) . '</span></li>';
    }
}

$out .= '</ul>';

echo $out;
}

add_action('woocommerce_single_product_summary', 'isa_woocommerce_all_pa', 25);

0 个答案:

没有答案