This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Strip the HTML from the configuration | |
add_filter( 'woocommerce_order_item_get_formatted_meta_data', function( $formatted_meta, $order_item ) { | |
// Handle "dynamic data" orders | |
foreach( $formatted_meta as $index => $meta ) { | |
if ( property_exists( $meta, 'value' ) && strpos( $meta->value, 'order-configuration' ) && function_exists( 'mkl_pc' ) && mkl_pc( 'admin' ) ) { | |
$meta->value = str_replace( '<div', "\n\r<div", $meta->value ); | |
$meta->value = trim( strip_tags( $meta->value ) ); | |
$formatted_meta[$index] = $meta; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_filter( 'mkl_product_configurator_get_front_end_data', function( $data ) { | |
// Filter the choices | |
if ( isset( $data['content'] ) && is_array( $data['content'] ) ) { | |
foreach( $data['content'] as $lin => $layer ) { | |
foreach( $layer['choices'] as $cin => $choice ) { | |
if ( isset( $choice['description'] ) ) { | |
$data['content'][$lin]['choices'][$cin]['description'] = apply_filters( 'the_content', $choice['description'] ); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var factor = 1.05; | |
var round = true; | |
jQuery( '.bulk-choice input.extra-price' ).each( function( ind, item ) { | |
if ( ! jQuery( item ).val() ) return; | |
var value = jQuery( item ).val() * factor; | |
if ( round ) value = Math.round( value ); | |
jQuery( item ).val( value ).trigger( 'change' ); | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Trip the HTML from the configuration | |
add_filter( 'woe_get_order_product_value_Configuration', function( $value, $order, $item ) { | |
// Handle "dynamic data" orders | |
if ( strpos( $value, 'order-configuration-details' ) && function_exists( 'mkl_pc' ) && mkl_pc( 'admin' ) ) { | |
$meta = new stdClass(); | |
$meta->value = $value; | |
$value = mkl_pc( 'admin' )->order->format_meta( $value, $meta, $item ); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@media (max-width: 660px) { | |
.mkl_pc.opened .mkl_pc_container { | |
overflow: auto; | |
bottom: 4em; | |
} | |
.mkl_pc.opened .mkl_pc_container .mkl_pc_viewer { | |
position: relative; | |
height: calc(50vh - 60px); | |
bottom: auto; | |
top: 0; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_filter( "woocommerce_rest_prepare_shop_order_object", function( $response, $object, $request ) { | |
foreach( $response->data['line_items'] as $ind => $item ) { | |
foreach( $item['meta_data'] as $md_ind => $meta_data ) { | |
// If the value contains order-configuration-details | |
if ( strpos( $meta_data['value'], 'order-configuration-details' ) ) { | |
// then replace the value by display_value | |
$response->data['line_items'][$ind]['meta_data'][$md_ind]['value'] = $meta_data['display_value']; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Change the tooltip. See the available options on https://atomiks.github.io/tippyjs/v6/all-props/#duration | |
wp.hooks.addFilter( 'PC.fe.tooltip.options', 'myDomain', function( options ) { | |
options.duration = [100, 400]; | |
return options; | |
} ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Add the new label, with html support: {{{ instead of {{ | |
function my_prefix_frontend_configurator_layer_name() { | |
?> | |
<span class="text layer-name">{{{data.name}}}</span> | |
<?php | |
} | |
add_action( 'tmpl-mkl-pc-configurator-layer-item-button', 'my_prefix_frontend_configurator_layer_name', 10 ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.mkl_pc .mkl_pc_container .mkl_pc_toolbar section.choices .layer_choices li.layer-choices-title > span a.close::before, | |
.mkl_pc .mkl_pc_container .mkl_pc_toolbar section.choices .layer_choices li.layer-choices-title > span a.close::after { | |
width: 15px; | |
transform-origin: 100%; | |
} | |
.mkl_pc .mkl_pc_container .mkl_pc_toolbar section.choices .layer_choices li.layer-choices-title > span a.close::after { | |
transform: translateX(8px) rotate(35deg); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_filter( 'mkl_pc_get_configurator_data_js_output', function( $js, $id, $data ) { | |
if ( class_exists( 'GTranslate' ) && is_user_logged_in() && current_user_can( 'edit_posts' ) ) { | |
$output = 'var PC = PC || {};'."\n"; | |
$output .= 'PC.productData = PC.productData || {};'."\n"; | |
// Add compatibility with GTranslate premium, enabling users to manually update translations. | |
$output .= "fetch('/wp-admin/admin-ajax.php?action=pc_get_data&data=init&fe=".$_REQUEST['fe']."&id={$id}&ver=".time()."').then(r => r.json()).then(data => {PC.productData.prod_$id = data;});"; | |
return $output; | |
} |