-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfunctions.php
1893 lines (1562 loc) · 117 KB
/
functions.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?php
/**
* Sanaleo Theme functions and definitions
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package Sanaleo
* @since 1.0.0
*/
/**
* Define Constants
*/
define( 'CHILD_THEME_SANALEO_VERSION', '1.0.0' );
/**
* Enqueue styles
*/
function child_enqueue_styles() {
// wp_enqueue_style( 'bootstrap', "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css", array('astra-theme-css'), CHILD_THEME_SANALEO_VERSION, 'all' );
wp_enqueue_style( 'sanaleo-theme-css', get_stylesheet_directory_uri() . '/style.css', array('astra-theme-css'), CHILD_THEME_SANALEO_VERSION, 'all' );
wp_enqueue_style('jquery-ui-css', get_stylesheet_directory_uri() . '/inc/jquery-ui.min.css', array('astra-theme-css'), CHILD_THEME_SANALEO_VERSION, 'all' );
wp_enqueue_style('mailchimp', '//cdn-images.mailchimp.com/embedcode/classic-10_7.css', array('astra-theme-css'), CHILD_THEME_SANALEO_VERSION, 'all' );
//cdn-images.mailchimp.com/embedcode/classic-10_7.css
}
add_action( 'wp_enqueue_scripts', 'child_enqueue_styles', PHP_INT_MAX );
function kb_admin_style() {
wp_enqueue_style('admin-styles', get_template_directory_uri().'/styles-admin.css');
}
add_action('admin_enqueue_scripts', 'kb_admin_style');
/**
* Enqueue scripts
*/
function child_enqueue_scripts(){
wp_enqueue_script('sanaleo-animations-js', get_stylesheet_directory_uri() . '/js/animations.js', array(), false, true);
wp_enqueue_script('rellax-js', get_stylesheet_directory_uri() . '/js/rellax-master/rellax.min.js', array(), false, true);
wp_enqueue_script('my-rellax', get_stylesheet_directory_uri() . '/js/my-rellax.js', array(), false, true);
wp_enqueue_script('custom-js', get_stylesheet_directory_uri() . '/js/custom.js', array(), false, true);
wp_enqueue_script( 'jquery-ui-slider' );
wp_enqueue_script('jquery-ui-touchpunch', get_stylesheet_directory_uri() . '/js/jquery.ui.touch-punch.min.js', array(), false, true);
if (is_front_page()) {
wp_enqueue_script('replacement', get_stylesheet_directory_uri() . '/js/replacement.js', array(), false, true);
}
}
add_action( 'wp_enqueue_scripts', 'child_enqueue_scripts');
include_once( get_stylesheet_directory() .'/woocommerce/product_hooks.php');
/* change links on category archive pages
add_action( 'woocommerce_before_shop_loop_item', 'customizing_loop_product_link_open', 9 );
function customizing_loop_product_link_open() {
global $product;
#// HERE BELOW, replace clothing' with your product category (can be an ID, a slug or a name)
#if( has_term( array('clothing'), 'product_cat' )){
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
add_action( 'woocommerce_before_shop_loop_item', 'custom_link_for_product_category', 10 );
#}
}
function custom_link_for_product_category() {
global $product;
// HERE BELOW, Define the Link to be replaced
$link = $product->get_permalink();
$title = $product->get_the_title();
echo '<a href="' . $link . '" title="' . $title . '" class="woocommerce-LoopProduct-link">';
}
*/
/* Change nofollow links to dofollow on category archive pages */
add_filter( 'woocommerce_loop_add_to_cart_link', 'add_to_cart_dofollow', 10, 2 );
function add_to_cart_dofollow($html, $product){
$html = sprintf( '<a rel="dofollow" href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s">%s</a>',
esc_url( $product->add_to_cart_url() ),
esc_attr( isset( $quantity ) ? $quantity : 1 ),
esc_attr( $product->get_id() ),
esc_attr( $product->get_sku() ),
esc_attr( isset( $class ) ? $class : 'button' ),
esc_html( $product->add_to_cart_text() )
);
return $html;
}
/* MAILCHIMP NEWSLETTER COUPON CREATEN FOR SUBSCRIPTION*/
add_action('rest_api_init', function () {
// here we are telling wordpress to use "webhook" namespace.
// This could be anything, but since it's a custom webhook receiver,
// it makes sense to call it webhook
// next is our "newMailChimpSubscriber" endpoint or route name
register_rest_route('webhook', '/newMailChimpSubscriber/', array(
'methods' => ['POST','GET'],
// and this is name of the function that will be called,
// when our /wp-json/webhook/newMailChimpSubscriber/ endpoint is called
'callback' => 'createDiscountCouponForNewSubscriber',
));
});
// this function creates the coupon, for the newly registered user
function createDiscountCouponForNewSubscriber()
{
// create coupon
$email = $_POST['data']['email'];
$coupon_code = 'welcome-'.$email; // Code
$amount = '15'; // Amount
$discount_type = 'percent'; // Type: fixed_cart, percent, fixed_product, percent_product
$coupon = array(
'post_title' => $coupon_code,
'post_content' => '',
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'shop_coupon'
);
$new_coupon_id = wp_insert_post($coupon);
//$exclude_products = array('61707', '61688', '61684', '61679', '61399');
// Add meta
update_post_meta($new_coupon_id, 'discount_type', $discount_type);
update_post_meta($new_coupon_id, 'coupon_amount', $amount);
update_post_meta($new_coupon_id, 'individual_use', 'yes');
update_post_meta($new_coupon_id, 'product_ids', '');
update_post_meta($new_coupon_id, 'exclude_product_ids', '61707, 61688, 61684, 61679, 61399');
update_post_meta($new_coupon_id, 'usage_limit', '1');
update_post_meta($new_coupon_id, 'expiry_date', '');
update_post_meta($new_coupon_id, 'apply_before_tax', 'yes');
update_post_meta($new_coupon_id, 'free_shipping', 'no');
return "ok";
}
/* SET TITLE AND ALT TAG ON PRODUCTLINKS ON CATEGORY PAGES
add_filter('wp_get_attachment_image_attributes', 'change_attachement_image_attributes', 20, 2);
function change_attachement_image_attributes( $attr, $attachment ) {
// Get post parent
$parent = get_post_field( 'post_parent', $attachment);
// Get post type to check if it's product
$type = get_post_field( 'post_type', $parent);
if( $type != 'product' ){
return $attr;
}
/// Get title
$title = get_post_field( 'post_title', $parent);
if( $attr['alt'] == ''){
$attr['alt'] = $title;
}
if( $attr['title'] == ''){
$attr['title'] = $title;
}
return $attr;
}*
/*
* Code-Snippets aus altem Shop
*
* */
/*
* Warenkorb checken und Käufe mit bestimmten Merkmalen innerhalb einer Kategorie nicht zulassen (CBD Blüten < 10g)
* */
add_action( 'woocommerce_check_cart_items', 'check_total' );
function check_total() {
// Only run in the Cart or Checkout pages
if( is_cart() || is_checkout() ) {
global $woocommerce, $product;
//$weight = $product->get_weight();
$total_quantity = 0;
$total_grams = 0;
$display_notice = 1;
$i = 0;
//echo $weight.'<br><br>';
//loop through all cart products
foreach ( $woocommerce->cart->cart_contents as $product ) {
// See if any product is from the cuvees category or not
if ( has_term( 'cbd-blueten', 'product_cat', $product['product_id'] )) {
//echo ($i+33);
$total_quantity += $product['quantity'];
//echo ;
//echo $product->get_weight().'<br><br>';
$total_grams += $product['data']->get_weight() * $product['quantity'];
}
//echo $total_grams;
}
// Set up the acceptable totals and loop through them so we don't have an ugly if statement below.
$acceptable_totals = array(10);
foreach($acceptable_totals as $total_check) {
if ( $total_grams <= $total_check) { $display_notice = 0; }
}
foreach ( $woocommerce->cart->cart_contents as $product ) {
if ( has_term( 'cbd-blueten', 'product_cat', $product['product_id'] ) ) {
if( $display_notice == 1 && $i == 0 ) {
// Display our error message
wc_add_notice( sprintf( '<p>Aufgrund der derzeitigen Gesetzeslage ist die Menge der bestellbaren CBD-Blüten pro Bestellung auf 10g begrenzt.</p>', $total_grams),
'error' );
}
$i++;
}
}
}
}
/*
* Remove unnecessery <h1> Tags
*/
add_filter( 'astra_advanced_header_title', 'remove_page_header_title' );
function remove_page_header_title() {
return;
}
/* custom hook for getting order_status
* used in PDF Invoices template file 'invoice.php'
* */
function get_order_status_hook($order) {
do_action('get_order_status_hook');
}
function return_order_status($order) {
return $order->get_status();
}
add_filter('get_order_status_hook', 'return_order_status');
function get_order_payment_method_hook($order) {
do_action('get_order_payment_method_hook');
}
function return_order_payment_method($order) {
return $order->get_payment_method();
}
add_filter('get_order_payment_method_hook', 'return_order_payment_method');
//Insert Adcell Tracking into Footer
add_action('wp_footer', 'adcell_tracking_information');
function adcell_tracking_information() {
echo '<script type="text/javascript" src="https://t.adcell.com/js/trad.js"></script>
<script>Adcell.Tracking.track();</script>';
}
//Remove Heading of Custom Product Tab
add_filter( 'yikes_woocommerce_custom_repeatable_product_tabs_heading', '__return_false' );
// Checkout Page Customization - $address_fields is passed via the filter!
function custom_override_default_address_fields( $address_fields ) {
$address_fields['address_1']['label'] = "Straße, Hausnummer";
$address_fields['address_1']['placeholder'] = "Straße, Hausnummer";
return $address_fields;
}
/* Enable upload for webp image files.*/
function webp_upload_mimes($existing_mimes) {
$existing_mimes['webp'] = 'image/webp';
return $existing_mimes;
}
add_filter('mime_types', 'webp_upload_mimes');
/* Modify Email Header - Order Notification */
add_action('woocommerce_email_header','add_Address', 10, 2);
function add_Address($email_heading, $email) {
echo "<table><tr><th>Sanaleo Web UG</th></tr><tr><td>Geschäftsführer: Wolf Kilian Stephan</td></tr><tr><td>Oeserstraße 37</td></tr><tr><td>04229 Leipzig</td></tr><tr><td>Tel.:01638913184</td></tr><tr><td>E-Mail: [email protected]</td></tr></table>";
}
/* Change Product Titles from H2 to Span -> SEO
remove_action( 'woocommerce_shop_loop_item_title','woocommerce_template_loop_product_title', 10 );
add_action('woocommerce_shop_loop_item_title', 'soChangeProductsTitle', 10 );
function soChangeProductsTitle() {
echo '<span class="' . esc_attr( apply_filters( 'woocommerce_product_loop_title_classes', 'woocommerce-loop-product__title' ) ) . '">' . get_the_title() . '</span>';
}*/
//Add Custom Email to Invoice-Mail
add_filter( 'woocommerce_email_headers', 'woocommerce_completed_order_email_bcc_copy', 10, 3);
function woocommerce_completed_order_email_bcc_copy( $headers, $email, $order ) {
$formattedEmail = utf8_decode('<[email protected]>, <[email protected]>');
if ($email == 'customer_completed_order') :
//$headers .= 'Bcc: Your name <[email protected]>'; //just repeat this line again to insert another email address in BCC
//$headers .= 'Bcc: Your name <[email protected]>'; //just repeat this line again to insert another email address in BCC
//$headers .= 'Cc: Your name <[email protected]>'; //just repeat this line again to insert another email address in BCC
//$headers .= 'Cc: Your name <[email protected]>'; //just repeat this line again to insert another email address in BCC
$headers .= 'Cc: '.$formattedEmail;
echo $headers;
endif;
return $headers;
}
/* Insert Google Analytics Tracking Code and Tracking Event */
function insertGABasic() {
//$url = get_site_url();
//echo '<link rel="alternate" hreflang="de" href="'.$url.'"/>';
//<meta name="facebook-domain-verification" content="y4q2jy4l2dqwabg1w3yhhdyi6h0v1p" />
?>
<script async>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-157457301-1', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
ga('require', 'ecommerce');
<?php
global $wp;
if ( is_checkout() && !empty( $wp->query_vars['order-received'] ) ) {
// GET the WC_Order object instance from, the Order ID
$order_id = absint( $wp->query_vars['order-received'] );
$order_key = isset( $_GET['key'] ) ? wc_clean( wp_unslash( $_GET['key'] ) ) : '';
$order = wc_get_order( $order_id );
$order_key = $order->get_order_key();
$transaction_id = $order->get_transaction_id(); // Doesn't always exist
$transaction_id = $order_id;
?>
ga('ecommerce:addTransaction', {
'id': '<?php echo $transaction_id; ?>', // Transaction ID. Required.
'affiliation': 'Sanaleo CBD', // Affiliation or store name.
'revenue': '<?php echo $order->get_total(); ?>', // Grand Total.
'shipping': '<?php echo $order->get_shipping_total(); ?>', // Shipping.
'tax': '0.00' // Tax.
});
<?php
foreach( $order->get_items() as $item_id => $item ) :
$order = wc_get_order( $order_id );
$transaction_id = $order->get_transaction_id(); // Doesn't always exist
$product = $item->get_product();
$categories = wp_get_post_terms( $item->get_product_id(), 'product_cat', array( 'fields' => 'names' ) );
$category = reset($categories); // Keep only the first product category
?>
ga('ecommerce:addItem', {
'id': '<?php echo $item->get_id(); ?>',
'name': '<?php echo $item->get_name(); ?>',
'sku': '<?php echo $product->get_sku(); ?>',
'category': '<?php echo $category;?>',
'price': '<?php echo wc_get_price_including_tax($product); // OR wc_get_price_including_tax($product) ?>',
'quantity': '<?php echo $item->get_quantity(); ?>',
'currency': '<?php echo get_woocommerce_currency(); // Optional ?>'
});
<?php
endforeach;
?>
ga('ecommerce:send');
<?php
}
?>
</script>
<!-- Global site tag (gtag.js) - Google Ads: 666334632 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-666334632"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-666334632');
</script>
<?php
}
add_action('wp_head', 'insertGABasic');
/* Load FAQ Featured Snippets -> needs to be updated*/
function customjs_load()
{
if (is_page(65230)) :
echo '<script type="application/ld+json" async>
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Wieso erhalte ich keine Verzehr- bzw. Dosierungsempfehlungen für die CBD Blüten und CBD Tropfen?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Aufgrund der derzeitigen Gesetzeslage und der Einstufung von CBD dürfen wir keine genaue Verzehr- und Dosierungsempfehlung für unsere Produkte abgeben. Der Gesetzgeber ist hier sehr kritisch gegenüber gesundheitsbezogenen Auskünften. Deswegen überlassen wir das den medizinischen Experten. Falls du gerne nähere Informationen hättest, können wir dir auf Anfrage gerne Ärzte oder Ärztinnen empfehlen, welche sich gut mit der Wirkung von CBD auskennen."
}
},{
"@type": "Question",
"name": "Wirkt CBD berauschend?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Das neben CBD bekannteste Cannabinoid ist THC. Es ist für die berauschende Wirkung von Cannabis verantwortlich und ist in Deutschland verboten. Chemisch betrachtet, unterscheiden sich CBD und THC nur minimal in ihrer Struktur. Dennoch unterscheiden sich die beiden Cannabinoide in ihrer Wirkung. CBD wirkt, im Vergleich zu THC, nicht berauschend. Anders als oft behauptet wird, ist CBD allerdings psychoaktiv. Es kann nämlich sehr wohl Einfluss auf unsere psychische Wahrnehmung haben. Allerdings nehmen wir dies nicht als Rauch war, sondern verspüren wenn dann eine Linderung psychischer Beschwerden, wie zum Beispiel Stress, depressive Verstimmungen oder Ängsten."
}
},{
"@type": "Question",
"name": "Was ist CBD?",
"acceptedAnswer": {
"@type": "Answer",
"text": "CBD steht für Cannabidiol und ist ein Inhaltsstoff der Cannabispflanze. Er gehört zu den sogenannten Phytocannabinoiden. Dabei handelt es sich um pflanzliche Inhaltsstoffe, die nur die Cannabispflanze produziert. Alle Säugetiere, Fische und Weichtiere produzieren von Natur aus körpereigene Cannabinoide, die den Phytocannabinoiden strukturell sehr ähnlich sind. Unsere körpereigenen Cannabinoide sind Teil des Endocannabinoid-Systems, welches an unserem Gesundheitserhalt, an gewissen Genesungsprozessen und folglich auch an unserer Gemütslage beteiligt ist."
}
},{
"@type": "Question",
"name": "Ist CBD legal?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Grundsätzlich musst Du dir als CBD-Nutzer*in keine Sorge vor einer rechtlichen Verfolgung nach einem Drogentest machen. CBD ist (im Gegensatz zu THC) kein Rauschmittel. Darum fällt CBD nicht unter das Betäubungsmittelgesetz. Der THC-Gehalt in sämtlichen CBD-Produkten muss in Deutschland unter 0,2% liegen."
}
},{
"@type": "Question",
"name": "Was ist der Unterschied zwischen CBD und THC?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Das neben CBD bekannteste Cannabinoid ist THC. Es ist für die berauschende Wirkung von Cannabis verantwortlich und in Deutschland verboten. Chemisch betrachtet unterscheiden sich CBD und THC nur minimal in ihrer Struktur. Dennoch unterscheiden sich die beiden Cannabinoide essentiell in ihrer Wirkung. CBD wirkt im Vergleich zu THC nicht berauschend."
}
}
]
}
</script>';
endif;
}
add_action('wp_head', 'customjs_load', 2);
function schemaMarkupOrganization() {
if (is_page(65230)) :
echo '<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Sanaleo CBD Shop",
"alternateName": "Sanaleo CBD Store",
"url": "https://sanaleo.com",
"logo": "https://sanaleo.com/wp-content/uploads/2020/06/Sanaleo-Verkauf-von-CBD-Produkten-CBD-Öl-und-CBD-Blüten-200x200_trans.png",
"address": {
"@type": "PostalAddress",
"addressLocality": "Leipzig, Germany",
"postalCode": "04109",
"streetAddress": "Lessingstraße 29"
},
"email": "[email protected]",
"telephone": "+491638913184",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "01638913184",
"email": "[email protected]",
"contactType": "customer service",
"contactOption": "TollFree",
"areaServed": "DE",
"availableLanguage": "German"
},
"sameAs": [
"https://www.facebook.com/SanaleoCBD",
"https://twitter.com/sanaleo_cbd",
"https://www.instagram.com/sanaleo_de/",
"https://www.pinterest.de/SanaleoCBD/"
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.81",
"reviewCount": "623"
},
"brand": "Sanaleo",
"department": [
{
"@type": "LocalBusiness",
"name": "Sanaleo CBD Store Halle",
"telephone": "+491773967694",
"openingHours": [
"Mo-Fr 13:00-19:00"
],
"image": "https://sanaleo.com/wp-content/uploads/2021/08/CBD-Markt-Franchise-CBD-Shop-Sanaleo.jpg",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5",
"reviewCount": "26"
},
"priceRange": "$",
"address": {
"@type": "PostalAddress",
"addressLocality": "Halle (Saale), Germany",
"postalCode": "06108",
"streetAddress": "Ludwig-Wucherer-Straße 33"
},
"logo": "https://sanaleo.com/wp-content/uploads/2020/06/Sanaleo-Verkauf-von-CBD-Produkten-CBD-Öl-und-CBD-Blüten-200x200_trans.png",
"url": "https://sanaleo.com",
"geo": {
"@type": "GeoCoordinates",
"latitude": "51.494205720080366",
"longitude": "11.971570170743293"
}
},
{
"@type": "LocalBusiness",
"name": "Sanaleo CBD Store Dresden",
"telephone": "+4917673776705",
"openingHours": [
"Mo-Fr 12:00-19:00",
"Sa 13:00-16:00"
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "43"
},
"priceRange": "$",
"image": "https://sanaleo.com/wp-content/uploads/2020/07/Franchise-CBD-Shop-Sanaleo-Shop-Dresden.jpg",
"address": {
"@type": "PostalAddress",
"addressLocality": "Dresden, Germany",
"postalCode": "01099",
"streetAddress": "Rothenburger Str. 13"
},
"url": "https://sanaleo.com",
"logo": "https://sanaleo.com/wp-content/uploads/2020/06/Sanaleo-Verkauf-von-CBD-Produkten-CBD-Öl-und-CBD-Blüten-200x200_trans.png",
"geo": {
"@type": "GeoCoordinates",
"latitude": "51.06476038393256",
"longitude": "13.752094180965518"
}
}
]
}
</script>'; endif;
}
add_action('wp_head', 'schemaMarkupOrganization', 2);
function customjs_load_blueten() {
if (is_product_category() and is_product_category("CBD Aromablüten")) :
echo '<script type="application/ld+json" async>
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Wie werden CBD Blüten angebaut?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Unser Sortiment umfasst Outdoor, Indoor und Greenhouse CBD-Blüten aus nachhaltigem Anbau. Beim Anbau werden weder Pestizide, Herbizide oder chemische Düngemittel verwendet. Unsere Hersteller haben allesamt eine langjährige Expertise beim Anbau von Cannabis vorzuweisen. Das ermöglicht es uns, jederzeit einen exklusiven Anspruch hinsichtlich unserer CBD-Produkte zu gewährleisten. Freu’ Dich auf beste Qualität."
}
},{
"@type": "Question",
"name": "Wieso haben CBD-Blüten unterschiedlich hohe CBD-Gehalte?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Verschiedene Produkte derselben Kategorie weisen unterschiedliche CBD-Gehalte auf. Vornehmlich bei CBD-Blüten finden wir geringe und vergleichsweise sehr hohe CBD-Anteile. Auch einzelne Chargen derselben Sorte variieren in den Cannabinoidwerten. Doch weshalb ist das so?
1. Das Züchten von Hanf ist eine wirkliche Aufgabe. Die Aufgabe wird genau dann zur Kunst, wenn dieselbe Sorte stabil über Jahre gezüchtet und angebaut werden soll.
2. Das Verhältnis von THC zu CBD und von CBD zu THC ist nicht beliebig. Demnach spielt der gesetzlich vorgeschriebene THC-Gehalt des Vertriebslandes eine entscheidende Rolle für den CBD-Gehalt. Die unterschiedliche Gesetzeslage innerhalb der EU sorgt also dafür, dass in manchen Ländern (Österreich, Luxemburg) der auf natürlichem Wege erzielbare CBD-Gehalt bei max. 9% liegt, in den meisten Ländern der EU bei max. 6% CBD.
3. Gute Werte für das Verhältnis THC zu CBD sind bei natürlichem Anbau von EU-Nutzhanf derzeit 1:20 bis 1:30. Das bedeutet, dass maximal der dreißigfache Anteil von CBD zum zugelassenen THC-Grenzwert erzielt werden kann. In Deutschland wären das bei einem Grenzwert von < 0,2% THC ideal gerechnet max. 6% CBD."
}
},{
"@type": "Question",
"name": "Was ist CBD?",
"acceptedAnswer": {
"@type": "Answer",
"text": "CBD steht für Cannabidiol und ist ein Inhaltsstoff der Cannabispflanze. Er gehört zu den sogenannten Phytocannabinoiden. Dabei handelt es sich um pflanzliche Inhaltsstoffe, die nur die Cannabispflanze produziert. Alle Säugetiere, Fische und Weichtiere produzieren jedoch von Natur aus körpereigene Cannabinoide, die den Phytocannabinoiden strukturell sehr ähnlich sind. Unsere körpereigenen Cannabinoide sind Teil des Endocannabinoid-Systems, welches an unserem Gesundheitserhalt, an gewissen Genesungsprozessen und folglich auch an unserer Gemütslage beteiligt ist. Die wissenschaftliche These ist: Exogen zugeführte Cannabinoide stimulieren das System, das einen Ausgleich der ausgeschütteten Botenstoffe anstrebt. Durch die Entdeckung dieses körpereigenen Systems hat sich das Verständnis der Wissenschaft von CBD und anderer Phytocannabinoide enorm erweitert und weiterführende Forschung angeregt."
}
},{
"@type": "Question",
"name": "Wirkt CBD berauschend?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Das neben CBD bekannteste Cannabinoid ist THC. Es ist für die berauschende Wirkung von Cannabis verantwortlich und ist in Deutschland verboten. Chemisch betrachtet, unterscheiden sich CBD und THC nur minimal in ihrer Struktur. Dennoch unterscheiden sich die beiden Cannabinoide in ihrer Wirkung. CBD wirkt, im Vergleich zu THC, nicht berauschend. Anders als oft behauptet wird, ist CBD allerdings psychoaktiv. Es kann nämlich sehr wohl Einfluss auf unsere psychische Wahrnehmung haben. Allerdings nehmen wir dies nicht als Rauch war, sondern verspüren wenn dann eine Linderung psychischer Beschwerden, wie zum Beispiel Stress, depressive Verstimmungen oder Ängsten."
}
},{
"@type": "Question",
"name": "Was ist der Unterschied zwischen CBD und THC?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Das neben CBD bekannteste Cannabinoid ist THC. Es ist für die berauschende Wirkung von Cannabis verantwortlich und in Deutschland verboten. Chemisch betrachtet unterscheiden sich CBD und THC nur minimal in ihrer Struktur. Dennoch unterscheiden sich die beiden Cannabinoide essentiell in ihrer Wirkung. CBD wirkt im Vergleich zu THC nicht berauschend."
}},{
"@type": "Question",
"name": "Wie lagert man die CBD-Hanfblüten sicher und richtig?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Am wohlsten fühlen sich die CBD-Blüten, wenn sie trocken und luftdicht verpackt sind. So trocknen sie nicht aus und bewahren bestens ihr Aroma."
}},{
"@type": "Question",
"name": "Können die CBD-Aromablüten schlecht werden?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Sollten die CBD-Blüten feucht werden, ist eine Schimmelbildung nicht auszuschließen. Deshalb immer darauf achten, dass sie trocken und luftdicht gelagert sind. Im Laufe der Zeit ist ein Austrocknen der Blüten leider kaum zu verhindert. Aber dadurch verlieren sie gewiss nicht an Qualität."
}}
]
}
</script>';
endif;
}
add_action('wp_head', 'customjs_load_blueten', 2);
function customjs_load_oele() {
if (is_product_category() and is_product_category("CBD Öle")):
echo '<script type="application/ld+json" async>
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Wie werden Sanaleo CBD Öle hergestellt?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Die angebotenen CBD-Öle werden aus getrockneten CBD-Cannabisblüten mit einem natürlicherweise hohen CBD-Gehalt hergestellt. Die dafür verwendeten Cannabisblüten werden ohne jeglichen Einsatz von Herbiziden oder Pestiziden angebaut. Nach der Ernte und dem Trocknungsprozess werden die Cannabisblüten mithilfe eines einzigartigen Verfahren extrahiert, bei dem eine sehr hohe Ausbeute erreicht wird. Nach der Extraktion ist zudem kein Einsatz von Lösungsmitteln erforderlich. Zuletzt wird das Cannabisextrakt mit einer natürlichen Ölbasis vermengt."
}
},{
"@type": "Question",
"name": "Welche CBD Öle sind bei uns erhältlich?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Wie du bestimmt bereits gesehen hast, kannst du bei SANALEO verschiedene CBD-Öle kaufen:
1. Full Spectrum CBD Öle mit 5% | 15% | 25% CBD
2. Broad Spectrum CBD Öle mit 5% | 15% | 25% CBD
3. Sanaleo Unique Collection (Happy Drops und Ease Drops) mit 5% | 15% | 25% CBD
Unsere Full Spectrum-Öle und Broad Spectrum-Öle unterscheiden sich zum einen in der Zusammensetzung der einzelnen natürlichen Inhaltsstoffe und zum anderen in ihrer Öl-Basis. Full Spectrum-Öle enthalten alle natürlichen Inhaltsstoffe des für die Herstellung verwendeten Pflanzenmaterials, während in Broad Spectrum-Ölen bestimmte Inhaltsstoffe herausgefiltert wurden. Zusätzlich bieten wir verschiedene Full Spectrum-Öle an, die von unserer Aroma-Öl-Expertin mit weiteren natürlichen Pflanzenextrakten ergänzt werden. Diese Spezial-Öl-Mischungen werden mit ätherischen Ölen angereichert. Ätherische Öle enthalten Terpene, die den Entourage-Effekt verstärken können."
}
},{
"@type": "Question",
"name": "Was ist CBD?",
"acceptedAnswer": {
"@type": "Answer",
"text": "CBD steht für Cannabidiol und ist ein Inhaltsstoff der Cannabispflanze. Er gehört zu den sogenannten Phytocannabinoiden. Dabei handelt es sich um pflanzliche Inhaltsstoffe, die nur die Cannabispflanze produziert. Alle Säugetiere, Fische und Weichtiere produzieren jedoch von Natur aus körpereigene Cannabinoide, die den Phytocannabinoiden strukturell sehr ähnlich sind. Unsere körpereigenen Cannabinoide sind Teil des Endocannabinoid-Systems, welches an unserem Gesundheitserhalt, an gewissen Genesungsprozessen und folglich auch an unserer Gemütslage beteiligt ist. Die wissenschaftliche These ist: Exogen zugeführte Cannabinoide stimulieren das System, das einen Ausgleich der ausgeschütteten Botenstoffe anstrebt. Durch die Entdeckung dieses körpereigenen Systems hat sich das Verständnis der Wissenschaft von CBD und anderer Phytocannabinoide enorm erweitert und weiterführende Forschung angeregt."
}
},{
"@type": "Question",
"name": "Wirkt CBD berauschend?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Das neben CBD bekannteste Cannabinoid ist THC. Es ist für die berauschende Wirkung von Cannabis verantwortlich und ist in Deutschland verboten. Chemisch betrachtet, unterscheiden sich CBD und THC nur minimal in ihrer Struktur. Dennoch unterscheiden sich die beiden Cannabinoide in ihrer Wirkung. CBD wirkt, im Vergleich zu THC, nicht berauschend. Anders als oft behauptet wird, ist CBD allerdings psychoaktiv. Es kann nämlich sehr wohl Einfluss auf unsere psychische Wahrnehmung haben. Allerdings nehmen wir dies nicht als Rauch war, sondern verspüren wenn dann eine Linderung psychischer Beschwerden, wie zum Beispiel Stress, depressive Verstimmungen oder Ängsten."
}
},{
"@type": "Question",
"name": "Was ist der Unterschied zwischen CBD und THC?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Das neben CBD bekannteste Cannabinoid ist THC. Es ist für die berauschende Wirkung von Cannabis verantwortlich und in Deutschland verboten. Chemisch betrachtet unterscheiden sich CBD und THC nur minimal in ihrer Struktur. Dennoch unterscheiden sich die beiden Cannabinoide essentiell in ihrer Wirkung. CBD wirkt im Vergleich zu THC nicht berauschend."
}}
]
}
</script>';
endif;
}
add_action('wp_head', 'customjs_load_oele', 2);
/**
* Allow HTML in term (category, tag) descriptions
*/
foreach ( array( 'woocommerce_archive_description' ) as $filter ) {
remove_filter( $filter, 'wp_filter_kses' );
}
foreach ( array( 'woocommerce_archive_description' ) as $filter ) {
remove_filter( $filter, 'wp_kses_data' );
}
foreach ( array( 'custom_archive_description' ) as $filter ) {
remove_filter( $filter, 'wp_filter_kses' );
}
foreach ( array( 'custom_archive_description' ) as $filter ) {
remove_filter( $filter, 'wp_kses_data' );
}
foreach ( array( 'pre_term_description' ) as $filter ) {
remove_filter( $filter, 'wp_filter_kses' );
}
foreach ( array( 'term_description' ) as $filter ) {
remove_filter( $filter, 'wp_kses_data' );
}
/**
* Hide shipping rates when free shipping is available.
* Updated to support WooCommerce 2.6 Shipping Zones.
*
* @param array $rates Array of rates found for the package.
* @return array
*/
function my_hide_shipping_when_free_is_available( $rates ) {
$free = array();
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );
add_filter( 'rank_math/snippet/rich_snippet_product_entity', function( $entity ) {
$entity['brand'] = 'Sanaleo CBD' ;
return $entity;
});
add_filter( 'script_loader_tag', 'defer_scripts_myhostingfacts', 10, 3 );
function defer_scripts_myhostingfacts( $tag, $handle, $src ) {
// The handles of the enqueued scripts we want to defer
$defer_scripts = array('roleWcAdcellTrackingAllPages', 'roleWcAdcellTrackingRetargetingScript', 'gtm4wp-contact-form-7-tracker', 'gtm4wp-form-move-tracker', 'gtm4wp-woocommerce-classic', 'gtm4wp-woocommerce-enhanced');
if ( in_array( $handle, $defer_scripts ) ) {
return '<script src="' . $src . '" defer="defer" type="text/javascript"></script>' . "\n";
}
return $tag;
}
/*
* Code-Snippets aus altem Shop - Ende
*
* */
//remove "Zusätzliche Informationen" Product Detail Page -> will be replaced by selfmade.
add_filter('woocommerce_product_tabs', 'bbloomer_remove_product_tabs', 99);
function bbloomer_remove_product_tabs( $tabs ) {
unset( $tabs['additional_information'] );
return $tabs;
}
function implement_row_beginning(){
echo '<div class="ast-row">';
}
// TAKES UNLIMITED CLASSNAMES AND CREATES AN OPENING DIV TAG
function implement_div_classes(...$classes) {
echo '<div class="';
for($i=0; $i < count($classes); $i++){
echo $cols[$i];
if($i < count($classes)- 1){
echo ' ';
}
}
echo '"><br>';
}
function close_div($div_num){
for($i=0; $i < $div_num + 1; $i++){
echo '</div>';
}
}
function remove_woo_actions() {
/**
* PRODUCT CATEGORY IDS
*
* ÖLE: 31
* AROMABLÜTEN: 30
* VAPE: 140
* LEBENSMITTEL: 157
* SCHLAFKAPSELN: 161
*
*
*/
if(is_product){
if(has_term('31' , 'product_cat')){
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20);
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5);
}
else if(has_term('30', 'product_cat')){
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20);
}
else if(has_term('173', 'product_cat')){
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20);
}
}
}
add_action( 'after_setup_theme', 'remove_woo_actions' );
function add_woo_actions(){
if(is_product){
if(has_term('31' , 'product_cat')){
add_action('woocommerce_before_single_product_summary', 'woocommerce_template_single_title', 20);
add_action('woocommerce_before_single_product_summary', 'woocommerce_template_single_excerpt', 30);
}
else if(has_term('30', 'product_cat')){
add_action('woocommerce_before_single_product_summary', 'woocommerce_template_single_excerpt', 30);
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5);
}
else if(has_term('173', 'product_cat')){
add_action('woocommerce_before_single_product_summary', 'woocommerce_template_single_excerpt', 30);
add_action('woocommerce_before_single_product_summary', 'woocommerce_template_single_title', 20);
}
else if (has_term('194', 'product_cat')){
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt');
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5);
}
else {
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5);
}
}
}
add_action('woocommerce_before_single_product','add_woo_actions');
//
// if(is_product && has_term('30', 'product_cat')){
// add_action('before_single_product', 'blueten_hook');
// $klassenarbeit = apply_filters('blueten_hook', 'testklasse');
// echo $klassenarbeit;
// }
// function blueten_hook(...$classes){
// do_action('blueten_hook');
// }
// function implement_div_classes(...$classes) {
// $div = '<div class="';
// for($i=0; $i < count($classes); $i++){
// $div += " " . $classes[$i];
// }
// $div += '"><br>';
// return $div;
// }
// remove_action( 'wp_head', 'print_google_fonts', 120 );
/* Remove inline <style> blocks. */
// function start_html_buffer() {
// // buffer output html
// ob_start();
// }
// function end_html_buffer() {
// // get buffered HTML
// $wpHTML = ob_get_clean();
// // remove <style> blocks using regular expression
// $wpHTML = preg_replace("/<style[^>]*>[^<]*<\/style>/m",'', $wpHTML);
// echo $wpHTML;
// }
// add_action('template_redirect', 'start_html_buffer', 0); // wp hook just before the template is loaded
// add_action('wp_footer', 'end_html_buffer', PHP_INT_MAX); // wp hook after wp_footer()
// add_action( 'enqueue_block_editor_assets', function() {
// // Overwrite Core theme styles with empty styles.
// wp_deregister_style( 'wp-core-blocks-theme' );
// wp_register_style( 'wp-core-blocks-theme', '' );
// }, 10 );
// function dequeue_all_styles() {
// global $wp_styles;
// foreach( $wp_styles->queue as $style ) {
// wp_dequeue_style($wp_styles->registered[$style]->handle);
// }
// }
// add_action('wp_print_styles', 'dequeue_all_styles', PHP_INT_MAX - 2);
// function enqueue_pure_styles() {
// wp_enqueue_style('dangarous-styles', get_stylesheet_directory_uri().'/extractpurgeminify/css/unified.min.css');
// }
// add_action('wp_print_styles', 'enqueue_pure_styles', PHP_INT_MAX -1);
/* dequeue all stylesheets */
/* dequeue guteberg mist*/
/* enqueue pure style */
/*
add_action( 'init', 'wpb_product_menu' );
function wpb_product_menu() {
register_nav_menu('product-menu',__( 'Product Menu' ));
}
add_action( 'astra_main_header_bar_top', 'sanaleo_display_product_menu' );
function sanaleo_display_product_menu(){
echo '<div class = "product-dropdown"><img id="lionhead" class="alignnone size-full wp-image-11" src="https://sanaleo.com/wp-content/uploads/2021/04/CBD-Oele-CBD-Blueten-CBD-Vape-Produtke-Sanaleo-CBD-loewenkopf.png" alt="Sanaleo - Premium CBD Shop Logo" width="50px" /><button id="product-menu-btn"><a href="https://sanaleo.com/shop-sortiment/" title="CBD Produkte bestellen">Produkte</a></button>';
wp_nav_menu( array(
'theme_location' => 'product-menu',
'container_class' => 'custom-menu-class',
'container_id' => 'product-menu' ));
echo '</div>';
}
*/
function range_slider(){
echo '<div class="range-values"><ul><li>5%</li><li>15%</li><li>25%</li></ul></div>';
echo '<div id="variations-slider"><h3 id="cbdanteil-title"style="color: white;">CBD ANTEIL</h3></div>';
}
function container_size_buds(){
echo '
<div class="content">
<div class="glass-wrapper">
<span class="glass"><div class="buds" data-el="2g">2g</div></span>
<span class="glass"><div class="buds" data-el="5g">5g</div></span>
<span class="glass"><div class="buds" data-el="10g"">10g</div></span>
<span class="glass"><div class="buds" data-el="20g"">20g</div></span>
</div>
</div>
';
}
// ADD ANIMATION FOR BUD LITS
// ROBERT TODOS
// CONTACTFORM OPTI
//deactivate_plugins( '/wp-content/plugins/wp-contact-form-7.php' );
// REMOVE ASTRA FONT DEFAULT
add_filter( 'astra_enable_default_fonts', '__return_false' );
add_filter( 'astra_google_fonts_selected', '__return_false' );
$trollingbertig = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH );
// echo "$request_uri";
#error_log(print_r($trollingbertig));
function clean_up_style() {
if(is_front_page()){
wp_dequeue_style('gutentor');
}
}
add_action('wp_enqueue_scripts', 'clean_up_style', 999);
// if(strpos( $request_uri, '' );){
// }
// REMOVE OUT OF STOCK PRODUCTS FROM VARIATION DROPDOWN
// ROBERT TODOS
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
$show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
$show_option_none_html = '<option value="">' . esc_html( $show_option_none_text ) . '</option>';
$html = str_replace($show_option_none_html, '', $html);
return $html;