Contagem de palavras tag limite

Eu quero limitar o usuário para inserir post_tag apenas palavras de dois, não mais. Se alguma das tags tiver mais de duas palavras, o usuário caanot publica a publicação.

Preciso usar esta function para contar a palavra.

function count_words( $text ) { $text2 = preg_replace( '/<.[^]*?>/', ' ', $text ); $text2 = preg_replace( '/ | /i', ' ', $text2 ); $text2 = preg_replace( '/[0-9.(),;:!?%#$¿\'"_+=\\/-]*/', '', $text2 ); $text2 = trim( $text2 ); if ( $text2 == '' ) { $count = 0; } else { $count = preg_match_all( '/\S\s+/', $text2, $matches ); if ( $count !== false ) { $count += 1; } else { $count = -1; // Error! } } return $count; } 

este plugin https://wordpress.org/plugins/wypiekacz/ possui várias regras, mas não contabiliza palavras. Como eu posso fazer isso?

Solutions Collecting From Web of "Contagem de palavras tag limite"

Use o filtro pre_insert_term :

 function wpse_189722_limit_tag_words( $term, $taxonomy ) { if ( $taxonomy === 'post_tag' ) { if ( count( preg_split( '/\s+/', trim( $term ) ) ) > 2 ) $term = new WP_Error( 'term_too_many_words', 'Maximum of 2 words' ); } return $term; } add_filter( 'pre_insert_term', 'wpse_189722_limit_tag_words', 10, 2 );