Advertisement
iEmanuele

adjustments

May 8th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.50 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4.  * [redirect_attachment_page description]
  5.  * @return [type] [description]
  6.  *
  7.  * Redirect allegato -> parent o homepage
  8.  */
  9. add_action( 'template_redirect', 'redirect_attachment_page' );
  10. function redirect_attachment_page(){
  11.     global $post;
  12.     if(is_attachment()){
  13.         $parent_id = wp_get_post_parent_id($post->ID);
  14.         if($parent_id){
  15.             exit(wp_redirect(get_permalink($parent_id), 301));
  16.         }else{
  17.             exit(wp_redirect(esc_url(home_url('/')), 301));
  18.         }
  19.     }
  20. }
  21.  
  22. /**
  23.  * [_embed_youtube description]
  24.  * @param  [type] $content [description]
  25.  * @return [type]          [description]
  26.  *
  27.  * Il filtro consente di modificare l'output del content di una pagina/post di WP, questo ci concede il controllo su
  28.  * gli eventuali iframe di YouTube incorporati.
  29.  * Per i valori dell'attributo data-cookieconsent fare riferimento: https://www.cookiebot.com/en/developer/
  30.  */
  31. add_filter('the_content', '_embed_youtube', 10);
  32. function _embed_youtube($content){
  33.     if(class_exists('DOMDocument')){
  34.         $doc = new DOMDocument();
  35.         $doc->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));
  36.  
  37.         $iframes = $doc->getElementsByTagName('iframe');
  38.  
  39.         for($i = 0; $i < $iframes->length; $i++){
  40.  
  41.             $iframe = $iframes->item($i);
  42.             $src = $iframe->getAttribute('src');
  43.  
  44.             //Rimuovo src attr
  45.             $iframe->removeAttribute('src');
  46.  
  47.             //Aggiungo nuovo data-src
  48.             $iframe->setAttribute('data-src', $src);
  49.  
  50.             //Aggiungo nuovo data-cookieconsent
  51.             $iframe->setAttribute('data-cookieconsent', 'marketing');
  52.  
  53.         }
  54.  
  55.         $content = $doc->saveHTML();
  56.     }
  57.     return $content;
  58. }
  59.  
  60.  
  61. /**
  62.  * [_script_loader_tag description]
  63.  * @param  [type] $tag    [description]
  64.  * @param  [type] $handle [description]
  65.  * @param  [type] $src    [description]
  66.  * @return [type]         [description]
  67.  *
  68.  * Il filtro consente di modificare il tag prima della stampa nella pagina in relazione al suo handle evidentemente.
  69.  * per i valori dell'attributo data-cookieconsent fare riferimento: https://www.cookiebot.com/en/developer/
  70.  */
  71. add_filter('script_loader_tag', '_script_loader_tag', 10, 3);
  72. function _script_loader_tag($tag, $handle, $src){
  73.  
  74.     if($handle == 'il-mio-handle'){
  75.         $tag = str_replace(' src=', ' data-cookieconsent="necessary" src=', $tag);
  76.         $tag = str_replace(" type='text/javascript'", " type='text/plain'", $tag);
  77.     }
  78.    
  79.     return $tag;
  80. }
  81.  
  82. /**
  83.  * [_print_head_script description]
  84.  * @return [type] [description]
  85.  *
  86.  * L'azione consente di stampare contenuto arbitrario all'interno del tag head di una pagina
  87.  * per i valori da passare alla funzione cookie_consent() fare riferimento a: https://www.cookiebot.com/en/developer/
  88.  */
  89. add_action('wp_head', '_print_head_script');
  90. function _print_head_script(){
  91.     if(function_exists('cookiebot_assist')) : ?>   
  92.     <script<?php echo cookiebot_assist('marketing') ?>>
  93.     <?php else : ?>
  94.     <script type="text/javascript">
  95.     <?php endif; ?>
  96.         //Il nostro script
  97.     </script>
  98. <?php
  99. }
  100.  
  101. /**
  102.  * [_print_footer_script description]
  103.  * @return [type] [description]
  104.  *
  105.  * L'azione consente di stampare contenuto arbitrario all'interno del body e prima della sua chiusura
  106.  * per i valori da passare alla funzione cookie_consent() fare riferimento a: https://www.cookiebot.com/en/developer/
  107.  */
  108. add_action('wp_footer', '_print_footer_script');
  109. function _print_footer_script(){
  110.     if(function_exists('cookiebot_assist')) : ?>   
  111.     <script<?php echo cookiebot_assist('marketing') ?>>
  112.     <?php else : ?>
  113.     <script type="text/javascript">
  114.     <?php endif; ?>
  115.         //Il nostro script
  116.     </script>
  117. <?php
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement