View difference between Paste ID: z5HHv6hD and 4FGpJpvn
SHOW: | | - or go back to the newest paste.
1
<?php
2
/***
3
	* Plugin Name: bbPress AutoTagger
4
	* Plugin URI:  http://example.org/
5
	* Description: --- description here --
6
	* Version:     1.0
7
	* Author:      Shmoo
8
	* Author URI:  http://example.org/
9
	* License:     Same as WordPress I guess.
10
***/
11
12
add_action( 'bbp_new_topic',  'shmoo_auto_save_tags', 10, 1 );
13
add_action( 'bbp_edit_topic', 'shmoo_auto_save_tags', 10, 1 );
14
15
16
function shmoo_auto_save_tags( $topic_id ) {
17
18-
	$topic_id = 0;
18+
	// Get all bbPress topic tags inside an array + strip them to plain text
19
        $bbp_topic_tags = wp_tag_cloud( array( 'format' => 'array', 'taxonomy' => 'topic-tag' ) );
20-
// Topic Tags
20+
21
                function tag_stripper( &$items, $format ) {
22
23-
        // Get all bbPress topic tags inside an array + strip them to plain text
23+
24
25
                }
26
                array_walk( $bbp_topic_tags, 'tag_stripper' );
27
28
29
// Topic Content
30
31
32
        // Get the topic content
33
        $bbp_topic_content = bbp_get_topic_content( $topic_id );
34
35
36
// Match Topics Tags against Topic Content
37
38-
        $bbp_topic_content = bbp_get_topic_content();
38+
39
        // Check and echo matches
40
        $matches = array();
41
42
        $match_found = preg_match_all( "/\b(" . implode($bbp_topic_tags,"|") . ")\b/i", $bbp_topic_content, $matches );
43
44
        if ( $match_found ) {
45
46
        	$words = array_unique( $matches[0] );
47
48
					$words = array_unique( array_merge( $words, wp_get_post_terms( $topic_id, bbp_get_topic_tag_tax_id(), array( 'fields' => 'names' ) ) ) );
49
						if ( !empty( $words ) )
50
							wp_set_post_terms( $topic_id, $words, bbp_get_topic_tag_tax_id(), true );
51
52-
        		foreach( $words as $word ) {
52+
53
54
55
}