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 | } |