Files
old-uokvirime-plugin/uokvirime.php

121 lines
9.6 KiB
PHP
Raw Normal View History

2020-07-07 05:58:56 +02:00
<?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
*/
2020-07-07 20:40:14 +02:00
/*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;
2020-07-07 05:58:56 +02:00
}
2020-07-07 20:40:14 +02:00
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;
2020-07-07 05:58:56 +02:00
}
2020-07-07 20:40:14 +02:00
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' );
2020-07-07 05:58:56 +02:00
}
2020-07-07 20:40:14 +02:00
2020-07-07 05:58:56 +02:00
}
2020-07-07 20:40:14 +02:00
/*
*
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,\"purcha
*
*/