Plugin radi!
This commit is contained in:
154
uokvirime.php
154
uokvirime.php
@@ -9,68 +9,112 @@
|
|||||||
*
|
*
|
||||||
* @package Uokviri_Me
|
* @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(
|
function uokvirime_find_id($data) {
|
||||||
'<p id="dolly"><span class="screen-reader-text">%s </span><span dir="ltr"%s>%s</span></p>',
|
$data_array = json_decode(json_encode($data), true);
|
||||||
__( 'Quote from Hello Dolly song, by Jerry Herman:' ),
|
foreach($data_array as $record) {
|
||||||
$lang,
|
if ($record['key'] == 'uokvirime_id') {
|
||||||
$chosen
|
return $record['value'];
|
||||||
);
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now we set that function up to execute when the admin_notices action is called.
|
add_action( 'woocommerce_before_add_to_cart_quantity', 'uokvirime_display_dropdown_variation_add_cart' );
|
||||||
add_action( 'admin_notices', 'uokvirime' );
|
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.
|
$slika_id = uokvirime_find_id($product->get_data()['meta_data']);
|
||||||
function uokvirime_css() {
|
foreach ($raw_variations as $variation) {
|
||||||
echo "
|
$okvir_id = $variation["attributes"]["attribute_okvir"];
|
||||||
<style type='text/css'>
|
$variation_id = $variation["variation_id"];
|
||||||
#dolly {
|
$variations[$variation_id] = "https://images.uokviri.me/images/$okvir_id/$slika_id";
|
||||||
float: right;
|
}
|
||||||
padding: 5px 10px;
|
|
||||||
margin: 0;
|
if ( $product->is_type('variable') ) {
|
||||||
font-size: 12px;
|
?>
|
||||||
line-height: 1.6666;
|
<script>
|
||||||
}
|
let variations = JSON.parse('<?php echo json_encode( $variations, JSON_UNESCAPED_SLASHES ) ?>');
|
||||||
.rtl #dolly {
|
jQuery(document).ready(function($) {
|
||||||
float: left;
|
$('input.variation_id').change( function(){
|
||||||
}
|
if( '' != $('input.variation_id').val() ) {
|
||||||
.block-editor-page #dolly {
|
var var_id = $('input.variation_id').val();
|
||||||
display: none;
|
var image_src = variations[var_id];
|
||||||
}
|
$(".wp-post-image").attr("src", image_src);
|
||||||
@media screen and (max-width: 782px) {
|
$(".wp-post-image").attr("data-src", image_src);
|
||||||
#dolly,
|
console.log("changing image to ", image_src, var_id);
|
||||||
.rtl #dolly {
|
}
|
||||||
float: none;
|
});
|
||||||
padding-left: 0;
|
});
|
||||||
padding-right: 0;
|
</script>
|
||||||
}
|
<?php
|
||||||
}
|
}
|
||||||
</style>
|
|
||||||
";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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