• Resolved gavimobile

    (@gavimobile)


    hi folks, i know its not recommended to edit plugins, however i was having trouble finding a way to limit the number of words with my event manager descriptions. i didnt want to use the <!–more–> option either, because i didnt want to confuse my client with using the <!–more–> option. if you are looking for a way to limit the text and #_EVENTEXCERPT OR #_EXCERPT is not what you are looking for, you can try adding this code to the em-events.php file at approx line 1233

    case '#_MYEXCERPT':
    					$replace = $this->post_content;
    					if($result == "#_MYEXCERPT"){
    						$length = 25;
    						$replace = implode(' ',array_slice(explode(' ', $replace),0,$length));
    						$replace = $replace.' ...';
    					}
    					break;

    now all you need to do is add #_MYEXCERPT and it will limit the
    amount of words being outputted in the description/notes. also change $length = 25 to the number of words you wish to output. i used 25 in this example. i really do hope this was helpful for you even though this may not be the recommended way of doing this because if there is an update, this change will be lost and have to be reapplied after each update. also if you have a better solution i would really love to hear it.

    https://www.ads-software.com/extend/plugins/events-manager/

Viewing 15 replies - 1 through 15 (of 18 total)
  • Thread Starter gavimobile

    (@gavimobile)

    if you have images which you want to remove from the output, you may want to add this line
    $replace = preg_replace(‘/<img[^>]+./’,”, $replace);
    just below
    $replace = $this->post_content;
    and above
    if($result == “#_MYEXCERPT”){

    Plugin Author Marcus (aka @msykes)

    (@netweblogic)

    thanks for contributing, but as you very well know, modifying the core plugin is naughty ??

    given you managed to do this, you might find this useful: https://wp-events-plugin.com/tutorials/modifying-placeholder-default-information/

    that way you can override the placeholder without touching our plugin

    Thread Starter gavimobile

    (@gavimobile)

    Marcus, Your absolutely right. I’m going to try and play around with that tomorrow
    Thanks for your prompt response

    Marcus, would that then be em_eventexcerpt_output_placeholder for the #_EVENTEXCERPT? Can’t find anything about it online and after searching your website I didn’t find anything.

    Ah, or em_event_output_placeholder?

    @trymbill

    please see this link to modify placeholder – https://wp-events-plugin.com/tutorials/modifying-placeholder-default-information/

    *replacing location with event

    Thread Starter gavimobile

    (@gavimobile)

    i got it folks! i will provide you with my example of how i successfully created the custom placeholder. the example in the links were a bit confusing for me.

    here we go, just add the code to your functions.php file. no need to edit the plugin as we all agreed was a bad idea.

    //creating a custom placeholder
    //create the filter. the website will search for our placeholder using this function
    add_filter('em_event_output_placeholder','my_em_styles_placeholders',1,3); // change the name of the function from em_event_output_placeholder to em_events_something
    function my_em_styles_placeholders($replace, $EM_Event, $result){ //make sure you change the name of the function to em_events_something
    	global $wp_query, $wp_rewrite;
    	switch( $result ){
    		case '#_MYEXCERPT': // name of the placeholder
    			$replace = $EM_Event->output("#_EVENTNOTES"); //lets retrieve the original event data so we can modify it
    			$replace = preg_replace('/<img[^>]+./','', $replace); // make the modification of taking out any images
    			if($result == "#_MYEXCERPT"){  //heres what we are goign to do if the placeholder has been found
    				$length = 25; //length of word for (the excerpt)
    				$replace = implode(' ',array_slice(explode(' ', $replace),0,$length)); //apply the length amount to the output
    				$replace = $replace . '...'; //add 3 periods after lenth has been reached
    			}
    		break; // end the case
    	}
    	return $replace; //output the placeholder
    }

    would love to know if this was helpful to someone

    Plugin Author Marcus (aka @msykes)

    (@netweblogic)

    looks good, thx for sharing

    Thread Starter gavimobile

    (@gavimobile)

    Thanks for the feedback abd inspiration Marcus!

    Fantastic solution, thank you so much! Would have taken me hours to get this sorted without you. Much appreciated, Gavin.

    I made a small change to your script, because it was adding the … to the end of the ones that were already short enough or excerpts. I set it to check if the excerpt was already shorter than 25 words, and if so it will leave it alone:

    //creating a custom placeholder
    //create the filter. the website will search for our placeholder using this function
    add_filter('em_event_output_placeholder','my_em_styles_placeholders',1,3);
    function my_em_styles_placeholders($replace, $EM_Event, $result){
    	global $wp_query, $wp_rewrite;
    	switch( $result ){
    		case '#_MYEXCERPT': // name of the placeholder
    			$replace = $EM_Event->output("#_EVENTEXCERPT"); //lets retrieve the original event data so we can modify it
    			$replace = preg_replace('/<img[^>]+./','', $replace); // make the modification of taking out any images
    			if($result == "#_MYEXCERPT"){  //heres what we are goign to do if the placeholder has been found
    				if ( str_word_count($replace) > 25 ) {
    					$length = 25; //length of word for (the excerpt)
    					$replace = implode(' ',array_slice(explode(' ', $replace),0,$length)); //apply the length amount to the output
    					$replace = $replace . '... '; //add 3 periods after lenth has been reached
    				}
    			}
    		break; // end the case
    	}
    	return $replace; //output the placeholder
    }
    Thread Starter gavimobile

    (@gavimobile)

    Glad I Was helpful! Seems like you got the hang of it! Thanks for your additional example! I hope someone else may find it helpful!

    Thanks for the excellent code, this is exactly what I was looking for and you saved me a couple of hours. You’re a hero!

    Thread Starter gavimobile

    (@gavimobile)

    like!!! glad i was able to help!

    Thanks for sharing the code!

    This should replace the excerpt-code used now IMO

Viewing 15 replies - 1 through 15 (of 18 total)
  • The topic ‘[Plugin: Events Manager] limiting text for event manager without using’ is closed to new replies.