PluginProbe ʕ •ᴥ•ʔ
External Links – nofollow, noopener & new window / 2.66
External Links – nofollow, noopener & new window v2.66
2.66 0.31 0.32 0.33 0.34 0.35 1.01 1.02 1.03 1.10 1.20 1.21 1.30 1.31 1.40 1.41 1.50 1.51 1.52 1.53 1.54 1.55 1.56 1.60 1.61 1.62 1.70 1.80 1.81 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.1.0 2.1.1 2.1.2 2.1.3 2.2.0 2.3 2.32 2.35 2.40 2.42 2.43 2.45 2.46 2.47 2.48 2.50 2.51 2.55 2.56 2.57 2.58 2.59 2.60 2.61 2.62 2.63 2.64 2.65 trunk 0.10 0.11 0.12 0.20 0.21 0.30
wp-external-links / libs / fwp / filter-hooks / class-fwp-widget-output.php
wp-external-links / libs / fwp / filter-hooks Last commit date
class-fwp-final-output.php 3 years ago class-fwp-widget-output.php 3 years ago
class-fwp-widget-output.php
77 lines
1 <?php
2 /**
3 * Class Widget_Output_1x0x0
4 *
5 * This component was inspired by the 'widget_content' filter of
6 * Widget Logic Plugin by Alan Trewartha (http://freakytrigger.co.uk/author/alan/)
7 *
8 * @package FWP
9 * @category WordPress Library
10 * @version 1.0.0
11
12 * @link https://www.webfactoryltd.com/
13 */
14 class FWP_Widget_Output_1x0x0 extends WPRun_Base_1x0x0
15 {
16
17 const FILTER_NAME = 'widget_output';
18
19 /**
20 * Filter for "dynamic_sidebar_params"
21 *
22 * @global array $wp_registered_widgets
23 * @param array $sidebar_params
24 * @return array
25 */
26 protected function filter_dynamic_sidebar_params( $sidebar_params )
27 {
28 global $wp_registered_widgets;
29
30 if ( is_admin() ) {
31 return $sidebar_params;
32 }
33
34 $widget_id = $sidebar_params[ 0 ][ 'widget_id' ];
35
36 // prevent overwriting when already set by another version of the widget output class
37 if ( isset( $wp_registered_widgets[ $widget_id ][ '_wo_original_callback' ] ) ) {
38 return $sidebar_params;
39 }
40
41 $wp_registered_widgets[ $widget_id ][ '_wo_original_callback' ] = $wp_registered_widgets[ $widget_id ][ 'callback' ];
42 $wp_registered_widgets[ $widget_id ][ 'callback' ] = $this->get_callback( 'widget_callback' );
43
44 return $sidebar_params;
45 }
46
47 /**
48 * Widget Callback
49 * @global array $wp_registered_widgets
50 * @return void
51 */
52 protected function widget_callback()
53 {
54 global $wp_registered_widgets;
55
56 $original_callback_params = func_get_args();
57 $widget_id = $original_callback_params[ 0 ][ 'widget_id' ];
58
59 $original_callback = $wp_registered_widgets[ $widget_id ][ '_wo_original_callback' ];
60 $wp_registered_widgets[ $widget_id ][ 'callback' ] = $original_callback;
61
62 $widget_id_base = $wp_registered_widgets[ $widget_id ][ 'callback' ][ 0 ]->id_base;
63
64 if ( ! is_callable( $original_callback ) ) {
65 return;
66 }
67
68 ob_start();
69
70 call_user_func_array( $original_callback, $original_callback_params );
71 $widget_output = ob_get_clean();
72
73 WPEL_Plugin::wp_kses_wf(apply_filters( self::FILTER_NAME, $widget_output, $widget_id_base, $widget_id ));
74 }
75
76 }
77