WordPress is the most used content management system, but nowadays WordPress is used for developing any kind of site like Restaurant, Job Search, shopping cart etc.
WordPress provides tags system which is used for find matched post or content via keywords. Well, sometimes to add tags manually for every post or content takes much time to find matched keywords and can be a major headache.
Here In the following function, I have explained that to fetch terms of database and check terms are exists into a description of a post when you save a post in WordPress. If term found in the description, will add into the array and consider keyword of the post and add a tag.
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 | add_action( 'save_post', 'auto_add_post_tags' ); function auto_add_post_tags(){ global $post; $post_info =get_post($post->ID); $post_id =$post->ID; $global_tags = array(); $terms = get_terms(array('post_tag'), array('hide_empty' => false)); if($terms) { $posted['tags'] = ''; foreach($terms as $term) { $tag_found = strpos($post_info->post_content, $term->name); if($tag_found) { $posted['tags'].= ','.$term->name; } } } if ($posted['tags'] !='') { $explode = explode(',', $posted['tags']); foreach($explode as $exp) { $exp = trim($exp); if($exp != '') { $term_exists = term_exists($exp, 'post_tag'); if($term_exists && is_array($term_exists)) { $post_into_tags[] = get_term_by( 'id', (int)$term_exists['term_id'], 'post_tag')->slug; $term_details = get_term_by( 'id', (int)$term_exists['term_id'], 'post_tag'); } else { $term = wp_insert_term($exp, 'post_tag'); $post_into_tags[] = get_term_by( 'id', (int)$term['term_id'], 'post_tag')->slug; $term_details = get_term_by( 'id', (int)$term['term_id'], 'post_tag'); } } } } wp_set_object_terms($post_id, $post_into_tags, 'post_tag'); } |
Above function will insert term into the database and then assign that term to the particular post.You can place code into theme’s functions.php file.
That’s it.Add above function and save your post and check your tags section in an admin panel.
Further Reading:
To get Current URL in WordPress
To add Tags to the pages in WordPress
WordPress Action Hook
Hope this article helps someone else out.As always, thanks for reading. Don’t Forget to Follow us on Twitter or Subscribe us to Get the Latest Updates.
Comments (1)