121 lines
9.6 KiB
PHP
Executable File
121 lines
9.6 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Plugin Name: Uokviri Me Plugin
|
|
* Plugin URI: https://www.uokviri.me
|
|
* Description: Uokviri me specific functionality
|
|
* Author: Saburly
|
|
* Author URI: www.saburly.com
|
|
* Version: 0.1.0
|
|
*
|
|
* @package Uokviri_Me
|
|
*/
|
|
|
|
|
|
|
|
/*if ( $product->get_image_id() ) {
|
|
$html = wc_get_gallery_image_html( $post_thumbnail_id, true );
|
|
} else {
|
|
$html = '<div class="woocommerce-product-gallery__image--placeholder">';
|
|
$html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woocommerce' ) );
|
|
$html .= '</div>';
|
|
}*/
|
|
|
|
add_filter( 'woocommerce_single_product_image_thumbnail_html', 'uokvirime_single_product_image_thumbnail_html' ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped
|
|
function uokvirime_single_product_image_thumbnail_html( $html ) {
|
|
$product = wc_get_product();
|
|
// echo "<!-- $product -->";
|
|
$result = '<div class="woocommerce-product-gallery__image--placeholder">';
|
|
$result .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woocommerce' ) );
|
|
$result .= '</div>';
|
|
|
|
return $result;
|
|
}
|
|
|
|
|
|
function uokvirime_find_id($data) {
|
|
$data_array = json_decode(json_encode($data), true);
|
|
foreach($data_array as $record) {
|
|
if ($record['key'] == 'uokvirime_id') {
|
|
return $record['value'];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
add_action( 'woocommerce_before_add_to_cart_quantity', 'uokvirime_display_dropdown_variation_add_cart' );
|
|
function uokvirime_display_dropdown_variation_add_cart() {
|
|
global $product;
|
|
$raw_variations = $product->get_available_variations();
|
|
$variations = array();
|
|
|
|
$slika_id = uokvirime_find_id($product->get_data()['meta_data']);
|
|
foreach ($raw_variations as $variation) {
|
|
$okvir_id = $variation["attributes"]["attribute_okvir"];
|
|
$variation_id = $variation["variation_id"];
|
|
$variations[$variation_id] = "https://images.uokviri.me/images/$okvir_id/$slika_id";
|
|
}
|
|
|
|
if ( $product->is_type('variable') ) {
|
|
?>
|
|
<script>
|
|
let variations = JSON.parse('<?php echo json_encode( $variations, JSON_UNESCAPED_SLASHES ) ?>');
|
|
jQuery(document).ready(function($) {
|
|
$('input.variation_id').change( function(){
|
|
if( '' != $('input.variation_id').val() ) {
|
|
var var_id = $('input.variation_id').val();
|
|
var image_src = variations[var_id];
|
|
$(".wp-post-image").attr("src", image_src);
|
|
$(".wp-post-image").attr("data-src", image_src);
|
|
console.log("changing image to ", image_src, var_id);
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
|
|
|
|
add_action( 'woocommerce_product_options_advanced', 'uokvirime_adv_product_options');
|
|
function uokvirime_adv_product_options(){
|
|
echo '<div class="options_group">';
|
|
|
|
woocommerce_wp_text_input( array(
|
|
'id' => 'uokvirime_id',
|
|
'value' => get_post_meta( get_the_ID(), 'uokvirime_id', true ),
|
|
'label' => 'Uokvirime slika',
|
|
'description' => 'Dugi niz slova i brojeva iz uokvirivaca', ) );
|
|
|
|
echo '</div>';
|
|
|
|
}
|
|
|
|
|
|
add_action( 'woocommerce_process_product_meta', 'uokvirime_save_fields', 10, 2 );
|
|
function uokvirime_save_fields( $id, $post ){
|
|
|
|
if( !empty( $_POST['uokvirime_id'] ) ) {
|
|
update_post_meta( $id, 'uokvirime_id', $_POST['uokvirime_id'] );
|
|
} else {
|
|
delete_post_meta( $id, 'uokvirime_id' );
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
*
|
|
let variations = JSON.parse('{"1":"https://images.uokiviri.me/1/1 {\"id\":10,\"name\":\"dust 2\",\"slug\":\"asda-nooo\",\"date_created\":{\"date\":\"2020-07-07 13:45:00.000000\",\"timezone_type\":3,\"timezone\":\"Europe\\/Sarajevo\"},\"date_modified\":{\"date\":\"2020-07-07 19:26:40.000000\",\"timezone_type\":3,\"timezone\":\"Europe\\/Sarajevo\"},\"status\":\"publish\",\"featured\":false,\"catalog_visibility\":\"visible\",\"description\":\"adsasdad dfsdf sdf\",\"short_description\":\"kratki opis ba\",\"sku\":\"a111\",\"price\":\"10\",\"regular_price\":\"\",\"sale_price\":\"\",\"date_on_sale_from\":null,\"date_on_sale_to\":null,\"total_sales\":0,\"tax_status\":\"taxable\",\"tax_class\":\"\",\"manage_stock\":true,\"stock_quantity\":50,\"stock_status\":\"instock\",\"backorders\":\"notify\",\"low_stock_amount\":\"\",\"sold_individually\":false,\"weight\":\"\",\"length\":\"\",\"width\":\"\",\"height\":\"\",\"upsell_ids\":[],\"cross_sell_ids\":[],\"parent_id\":0,\"reviews_allowed\":true,\"purchase_note\":\"\",\"attributes\":{\"okvir\":{},\"uokvirime_id\":{}},\"default_attributes\":{\"okvir\":\"1\"},\"menu_order\":0,\"post_password\":\"\",\"virtual\":false,\"downloadable\":false,\"category_ids\":[15],\"tag_ids\":[16],\"shipping_class_id\":0,\"downloads\":[],\"image_id\":\"\",\"gallery_image_ids\":[],\"download_limit\":-1,\"download_expiry\":-1,\"rating_counts\":[],\"average_rating\":\"0\",\"review_count\":0,\"meta_data\":[{\"id\":148,\"key\":\"super_product\",\"value\":\"\"},{\"id\":149,\"key\":\"uokvirime_id\",\"value\":\"d3deadaa335fdea34add123ce244f15e2131bb73\"}]}",
|
|
|
|
|
|
|
|
|
|
|
|
"2":"https://images.uokiviri.me/2/1 {\"id\":10,\"name\":\"dust 2\",\"slug\":\"asda-nooo\",\"date_created\":{\"date\":\"2020-07-07 13:45:00.000000\",\"timezone_type\":3,\"timezone\":\"Europe\\/Sarajevo\"},\"date_modified\":{\"date\":\"2020-07-07 19:26:40.000000\",\"timezone_type\":3,\"timezone\":\"Europe\\/Sarajevo\"},\"status\":\"publish\",\"featured\":false,\"catalog_visibility\":\"visible\",\"description\":\"adsasdad dfsdf sdf\",\"short_description\":\"kratki opis ba\",\"sku\":\"a111\",\"price\":\"10\",\"regular_price\":\"\",\"sale_price\":\"\",\"date_on_sale_from\":null,\"date_on_sale_to\":null,\"total_sales\":0,\"tax_status\":\"taxable\",\"tax_class\":\"\",\"manage_stock\":true,\"stock_quantity\":50,\"stock_status\":\"instock\",\"backorders\":\"notify\",\"low_stock_amount\":\"\",\"sold_individually\":false,\"weight\":\"\",\"length\":\"\",\"width\":\"\",\"height\":\"\",\"upsell_ids\":[],\"cross_sell_ids\":[],\"parent_id\":0,\"reviews_allowed\":true,\"purchase_note\":\"\",\"attributes\":{\"okvir\":{},\"uokvirime_id\":{}},\"default_attributes\":{\"okvir\":\"1\"},\"menu_order\":0,\"post_password\":\"\",\"virtual\":false,\"downloadable\":false,\"category_ids\":[15],\"tag_ids\":[16],\"shipping_class_id\":0,\"downloads\":[],\"image_id\":\"\",\"gallery_image_ids\":[],\"download_limit\":-1,\"download_expiry\":-1,\"rating_counts\":[],\"average_rating\":\"0\",\"review_count\":0,\"meta_data\":[{\"id\":148,\"key\":\"super_product\",\"value\":\"\"},{\"id\":149,\"key\":\"uokvirime_id\",\"value\":\"d3deadaa335fdea34add123ce244f15e2131bb73\"}]}","3":"https://images.uokiviri.me/3/1 {\"id\":10,\"name\":\"dust 2\",\"slug\":\"asda-nooo\",\"date_created\":{\"date\":\"2020-07-07 13:45:00.000000\",\"timezone_type\":3,\"timezone\":\"Europe\\/Sarajevo\"},\"date_modified\":{\"date\":\"2020-07-07 19:26:40.000000\",\"timezone_type\":3,\"timezone\":\"Europe\\/Sarajevo\"},\"status\":\"publish\",\"featured\":false,\"catalog_visibility\":\"visible\",\"description\":\"adsasdad dfsdf sdf\",\"short_description\":\"kratki opis ba\",\"sku\":\"a111\",\"price\":\"10\",\"regular_price\":\"\",\"sale_price\":\"\",\"date_on_sale_from\":null,\"date_on_sale_to\":null,\"total_sales\":0,\"tax_status\":\"taxable\",\"tax_class\":\"\",\"manage_stock\":true,\"stock_quantity\":50,\"stock_status\":\"instock\",\"backorders\":\"notify\",\"low_stock_amount\":\"\",\"sold_individually\":false,\"weight\":\"\",\"length\":\"\",\"width\":\"\",\"height\":\"\",\"upsell_ids\":[],\"cross_sell_ids\":[],\"parent_id\":0,\"reviews_allowed\":true,\"purchase_note\":\"\",\"attributes\":{\"okvir\":{},\"uokvirime_id\":{}},\"default_attributes\":{\"okvir\":\"1\"},\"menu_order\":0,\"post_password\":\"\",\"virtual\":false,\"downloadable\":false,\"category_ids\":[15],\"tag_ids\":[16],\"shipping_class_id\":0,\"downloads\":[],\"image_id\":\"\",\"gallery_image_ids\":[],\"download_limit\":-1,\"download_expiry\":-1,\"rating_counts\":[],\"average_rating\":\"0\",\"review_count\":0,\"meta_data\":[{\"id\":148,\"key\":\"super_product\",\"value\":\"\"},{\"id\":149,\"key\":\"uokvirime_id\",\"value\":\"d3deadaa335fdea34add123ce244f15e2131bb73\"}]}","4":"https://images.uokiviri.me/4/1 {\"id\":10,\"name\":\"dust 2\",\"slug\":\"asda-nooo\",\"date_created\":{\"date\":\"2020-07-07 13:45:00.000000\",\"timezone_type\":3,\"timezone\":\"Europe\\/Sarajevo\"},\"date_modified\":{\"date\":\"2020-07-07 19:26:40.000000\",\"timezone_type\":3,\"timezone\":\"Europe\\/Sarajevo\"},\"status\":\"publish\",\"featured\":false,\"catalog_visibility\":\"visible\",\"description\":\"adsasdad dfsdf sdf\",\"short_description\":\"kratki opis ba\",\"sku\":\"a111\",\"price\":\"10\",\"regular_price\":\"\",\"sale_price\":\"\",\"date_on_sale_from\":null,\"date_on_sale_to\":null,\"total_sales\":0,\"tax_status\":\"taxable\",\"tax_class\":\"\",\"manage_stock\":true,\"stock_quantity\":50,\"stock_status\":\"instock\",\"backorders\":\"notify\",\"low_stock_amount\":\"\",\"sold_individually\":false,\"weight\":\"\",\"length\":\"\",\"width\":\"\",\"height\":\"\",\"upsell_ids\":[],\"cross_sell_ids\":[],\"parent_id\":0,\"reviews_allowed\":true,\"purchase_note\":\"\",\"attributes\":{\"okvir\":{},\"uokvirime_id\":{}},\"default_attributes\":{\"okvir\":\"1\"},\"menu_order\":0,\"post_password\":\"\",\"virtual\":false,\"downloadable\":false,\"category_ids\":[15],\"tag_ids\":[16],\"shipping_class_id\":0,\"downloads\":[],\"image_id\":\"\",\"gallery_image_ids\":[],\"download_limit\":-1,\"download_expiry\":-1,\"rating_counts\":[],\"average_rating\":\"0\",\"review_count\":0,\"meta_data\":[{\"id\":148,\"key\":\"super_product\",\"value\":\"\"},{\"id\":149,\"key\":\"uokvirime_id\",\"value\":\"d3deadaa335fdea34add123ce244f15e2131bb73\"}]}"}');
|
|
*
|
|
*/
|