11<?php
22/*
3- Plugin Name:OpenElementorWidget
4- Description: Custom widget for Elementor
3+ Plugin Name: OpenWidgetElementor
4+ Description: Custom widget for elementor
55Version: 1.0
6- Author: Davide
7- */
8-
9- // Register the custom widgets with Elementor
10- add_filter ( ' the_excerpt ' , function ( $ excerpt ) {
11-
12- $ excerpt_length = 40 ; // Change excerpt length
13-
14- global $ post ;
15-
16- if (
17- is_archive () || is_search ()
18- ) {
19- $ post = get_post ( );
20- }
21-
22- if (has_excerpt ( $ post ) ) {
23- echo " porva " ;
24- }
25- else {
26- $ content = get_the_content ();
27- $ first_word = substr ( $ content , 0 , strpos ( $ content , ' ' ) );
28- $ content = substr ( $ content , strpos ( $ content , ' ' ) + 2 );
29- echo $ first_word ;
30- $ excerpt = wp_trim_words ( $ content , $ excerpt_length );
31- $ excerpt = $ first_word . ' ' . $ excerpt ;
32- }
6+ Author: Davide
7+ */ function remove_text_before_last_post_title ( $ excerpt )
8+ {
9+ // Ottieni l'ultimo post
10+ $ last_post = get_posts ( array (
11+ ' numberposts ' => 1 ,
12+ ' order ' => ' DESC ' ,
13+ ))[ 0 ];
14+
15+ // Ottieni il titolo dell'ultimo post
16+ $ last_post_title = $ last_post -> post_title ;
17+
18+ // Trova la posizione del titolo dell'ultimo post nell'excerpt
19+ $ position = strpos ( $ excerpt , $ last_post_title );
20+
21+ // Se il titolo è presente, restituisce solo il testo dopo di esso
22+ if ($ position !== false ) {
23+ $ excerpt = str_replace ( " Read More " , "" , $ excerpt ) ;
24+ $ excerpt = str_replace ( " » " , "" , $ excerpt );
25+ return substr ( $ excerpt , $ position );
26+ }
27+ $ excerpt = str_replace ( " Read More " , "" , $ excerpt );
28+ $ excerpt = str_replace ( " » " , "" , $ excerpt );
29+
30+ // Se il titolo non è presente, restituisce l'excerpt originale
31+ return $ excerpt ;
32+ }
3333
34- return $ excerpt ;
35- }, 10 , 2 );
34+ add_filter ('wp_trim_excerpt ' , 'remove_text_before_last_post_title ' );
3635add_action ('elementor/widgets/widgets_registered ' , 'register_OpenElementorWidget_widgets ' );
3736
3837function add_elementor_widget_categories ($ elements_manager )
3938{
4039
41- $ elements_manager ->add_category (
42- 'OpenWidget ' ,
43- [
44- 'title ' => esc_html__ ('OpenWidget ' , 'open-elementor-widget ' ),
45- 'icon ' => 'fa fa-plug ' ,
46- ]
47- );
40+ $ elements_manager ->add_category (
41+ 'OpenWidget ' ,
42+ [
43+ 'title ' => esc_html__ ('OpenWidget ' , 'open-elementor-widget ' ),
44+ 'icon ' => 'fa fa-plug ' ,
45+ ]
46+ );
4847}
4948add_action ('elementor/elements/categories_registered ' , 'add_elementor_widget_categories ' );
5049function register_OpenElementorWidget_widgets ($ widgets_manager )
5150{
52- // Include and register the latest-posts-hover widget
53- require_once (plugin_dir_path (__FILE__ ) . 'widgets/Latest-Posts-Hover.php ' );
54- $ widgets_manager ->register_widget_type (new \Latest_Posts_Hover_Widget ());
55- }
51+ // Include and register the latest-posts-hover widget
52+ require_once (plugin_dir_path (__FILE__ ) . 'widgets/Latest-Posts-Hover.php ' );
53+ $ widgets_manager ->register_widget_type (new \Latest_Posts_Hover_Widget ());
54+ }
0 commit comments