Usage
PHP
nebula()->string_limit_words($string, $word_limit)
Parameters
$string
(Required) (String) The string to shorten
Default: None
$word_limit
(Required) (Integer) The maximum number of words
Default: None
Source File
Located in /libs/Utilities/Utilities.php on line 1106.
1 Hook
Find these filters and actions in the source code below to hook into them. Use do_action() and add_filter() in your functions file or plugin.
Filters
"pre_string_limit_words"Need a new filter hook? Request one here.
Actions
This function has no action hooks available. Request one?
PHP
public function string_limit_words($string, $word_limit){
$override = apply_filters('pre_string_limit_words', null, $string, $word_limit);
if ( isset($override) ){return $override;}
$limited['text'] = $string;
$limited['is_limited'] = false;
$words = array_slice(array_filter(explode(' ', trim($string))), 0, $word_limit); //Create an array of words after trimming whitespace and removing empty array items. Then keep only the first words up to the requested limit.
if ( count($words) >= $word_limit ){
$limited['text'] = implode(' ', $words);
$limited['is_limited'] = true;
}
return $limited;
}
Override
To override this PHP function, use this hook in your child theme or plugin ("my_custom" can be changed):
PHP
add_filter('pre_string_limit_words', 'my_custom_string_limit_words', 10, 3); //The last integer must be 1 more than the actual parameters
function my_custom_string_limit_words($null, $string, $word_limit){ //$null is required, but can be ignored
//Write your own code here
return true; //Return true to prevent the original function from running afterwords
}
You can completely disable this PHP function with a single line actions:
PHP
add_filter('pre_string_limit_words', '__return_false');