Plugin radi!
This commit is contained in:
154
uokvirime.php
154
uokvirime.php
@@ -9,68 +9,112 @@
|
||||
*
|
||||
* @package Uokviri_Me
|
||||
*/
|
||||
function uokvirime_get_lyric() {
|
||||
/** These are the lyrics to Hello Dolly */
|
||||
$lyrics = "Oj djevojko anadolko
|
||||
Budi moja ti
|
||||
Oj djevojko anadolko
|
||||
Budi moja ti
|
||||
Ja cu tebi sevdalinke
|
||||
Pjesme pjevati";
|
||||
|
||||
// Here we split it into lines.
|
||||
$lyrics = explode( "\n", $lyrics );
|
||||
|
||||
// And then randomly choose a line.
|
||||
return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] );
|
||||
|
||||
/*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;
|
||||
}
|
||||
|
||||
// This just echoes the chosen line, we'll position it later.
|
||||
function uokvirime() {
|
||||
$chosen = uokvirime_get_lyric();
|
||||
$lang = '';
|
||||
if ( 'en_' !== substr( get_user_locale(), 0, 3 ) ) {
|
||||
$lang = ' lang="en"';
|
||||
}
|
||||
|
||||
printf(
|
||||
'<p id="dolly"><span class="screen-reader-text">%s </span><span dir="ltr"%s>%s</span></p>',
|
||||
__( 'Quote from Hello Dolly song, by Jerry Herman:' ),
|
||||
$lang,
|
||||
$chosen
|
||||
);
|
||||
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;
|
||||
}
|
||||
|
||||
// Now we set that function up to execute when the admin_notices action is called.
|
||||
add_action( 'admin_notices', 'uokvirime' );
|
||||
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();
|
||||
|
||||
// We need some CSS to position the paragraph.
|
||||
function uokvirime_css() {
|
||||
echo "
|
||||
<style type='text/css'>
|
||||
#dolly {
|
||||
float: right;
|
||||
padding: 5px 10px;
|
||||
margin: 0;
|
||||
font-size: 12px;
|
||||
line-height: 1.6666;
|
||||
}
|
||||
.rtl #dolly {
|
||||
float: left;
|
||||
}
|
||||
.block-editor-page #dolly {
|
||||
display: none;
|
||||
}
|
||||
@media screen and (max-width: 782px) {
|
||||
#dolly,
|
||||
.rtl #dolly {
|
||||
float: none;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
";
|
||||
$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( 'admin_head', 'uokvirime_css' );
|
||||
|
||||
|
||||
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\"}]}"}');
|
||||
*
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user