Advertisement
Razorspined

Untitled

Apr 1st, 2023
568
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.47 KB | None | 0 0
  1. <?php
  2. /*
  3. * Plugin Name: Test Plugin
  4. *
  5. *
  6. */
  7.     // function abcd() {
  8.     //     if(is_single()) {
  9.     //         echo "<script>
  10.     //         alert('zdr kp');
  11.     //      </script>";
  12.     //     }
  13.     // }
  14.  
  15.     // function capitalize($content) {
  16.     //     $title = strtoupper($content);
  17.     //     return $title;
  18.     // }
  19.  
  20.     // add_action("the_post", "abcd");
  21.     // add_filter("the_title", "capitalize", 10, 1)
  22.  
  23.     function kebab_case($text) {
  24.         $kebab_text = strip_tags($text);
  25.         $kebab_text = _wp_to_kebab_case( $kebab_text );
  26.  
  27.         return $kebab_text;
  28.     }
  29.  
  30.     function filter_search_strings( $content ) {
  31.         preg_match_all('(\[[a-z]:.*\])', $content, $results);
  32.         foreach ($results[0] as $match) {
  33.             $search_string = str_replace(["[", "]"], "", $match);
  34.             $link_parts = explode(": ", $search_string);
  35.             $anchor_text = "";
  36.            
  37.             if($link_parts[0] == 'g') {
  38.                 $anchor_text =
  39.                 "<a target='_blank' href='http://www.google.com/search?q=" . $link_parts[1] . "'>".
  40.                 $link_parts[1] .
  41.                 "</a>";
  42.             }
  43.             elseif ($link_parts[0] == 'i') {
  44.                 $anchor_text =
  45.                 "<a target='_blank' href='https://imgur.com/search?q=" . $link_parts[1] . "'>".
  46.                 $link_parts[1] .
  47.                 "</a>";
  48.             }
  49.             elseif ($link_parts[0] == 'w') {
  50.                 $anchor_text =
  51.                 "<a target='_blank' href='https://en.wikipedia.org/wiki/" . $link_parts[1] . "'>".
  52.                 $link_parts[1] .
  53.                 "</a>";
  54.             }
  55.  
  56.             $content = str_replace($match, $anchor_text, $content);
  57.         }
  58.         return $content;
  59.     }
  60.    
  61.     function appendUserCommentCount($nick, $comment_id, $comment) {
  62.         global $wpdb;
  63.  
  64.         $comment_count = $wpdb->get_var("SELECT COUNT(*) FROM wp_comments WHERE user_id = {$comment->user_id}");
  65.  
  66.         $nick = $nick . " [" . $comment_count . " posts]";
  67.         return $nick;
  68.     }
  69.    
  70.     add_filter("the_title", "kebab_case");
  71.     //add_filter("the_content", "kebab_case");
  72.     add_filter("get_comment_author", "appendUserCommentCount", 10, 3);
  73.     add_filter("the_content", "filter_search_strings");
  74.  
  75.  
  76.     /*
  77.     FILTER - да видим можем ли да подготвим нещо като парсър за специални ключови думи във
  78.     съдържанието на поста, за пример:
  79.     [g: Васил Левски]
  80.     [g: рецепта за боб] <а href="http://www.google.com/?q=рецепта за боб"</a>
  81.  
  82.     Regex патернът, който ще ни трябва, е (\[g:.*])
  83.     1. След като намерим match, replace-ваме '[' и ']' със ''
  84.     (махаме отварящи и затварящи квадратни скоби)
  85.     2. След това, оставащият текст разделяме на две части спрямо ':' символа.
  86.     3. Разделянето ни връща масив. Вторият елемент от масива е текстът, с който ще генерираме
  87.     HTML anchor href т.е. <а href="http://www.google.com/?q=рецепта за боб"</a>
  88.     4. След като сме си генерирали HTML линка, трябва текстът от стъпка 1 да бъде заменен със нашия
  89.     HTML
  90.     */
  91. ?>
  92.  
  93.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement