PluginProbe
Forumax – AI Powered Advanced Community Forum Plugin / 2.5.1
Forumax – AI Powered Advanced Community Forum Plugin v2.5.1
2.5.1 2.5.0 2.4.4 2.4.3 2.4.2 2.4.1 2.4.0 trunk 1.0.8 1.1.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 All 31 releases
← All changes | includes/Frontend/Frontend_Assets.php +34 -43 2.4.0 → 2.5.1 View file →
@@ -13,30 +13,11 @@
13 13 */
14 14 public function __construct()
15 15 {
16 16 add_action('wp_enqueue_scripts', [$this, 'frontend_scripts'], 999);
17 - add_action('elementor/widgets/widgets_registered', [$this, 'bbpc_elementor_script'], 999);
18 -
19 17 }
20 18
21 19 /**
22 - * Register scripts and styles [ ELEMENTOR ]
23 - */
24 - public function bbpc_elementor_script()
25 - {
26 - // Elementor widgets scripts
27 - wp_enqueue_style('bbpc-el-widgets', FORUMAX_STYLES . 'frontend/el-widgets.css', array(), FORUMAX_VERSION);
28 - wp_enqueue_style('elegant-icon', FORUMAX_VEND . 'elegant-icon/style.css');
29 - wp_register_script('bbpc_js', FORUMAX_FRONT_ASS . 'js/forumTab.js', ['jquery'], true, true);
30 - wp_register_script('bbpc-frontend-js', FORUMAX_FRONT_ASS . 'js/frontend.js', array('jquery'), FORUMAX_VERSION, true);
31 - wp_register_script('bbpc-ajax', FORUMAX_FRONT_ASS . 'js/ajax.js', array('jquery'), FORUMAX_VERSION, true);
32 -
33 - if (is_rtl()) {
34 - wp_enqueue_style('bbpc-rtl', FORUMAX_STYLES . 'frontend/bbpc-main-rtl.css');
35 - }
36 - }
37 -
38 - /**
39 20 * Register scripts and styles [ FRONTEND ]
40 21 */
41 22 public function frontend_scripts()
42 23 {
@@ -45,32 +26,42 @@
45 26 return;
46 27 }
47 28
48 29 // Register front-end scripts/styles first so they are available for Gutenberg/Elementor blocks.
49 - wp_register_script('bbpc-ajax', FORUMAX_FRONT_ASS . 'js/ajax.js', array('jquery'), FORUMAX_VERSION, true);
50 - wp_register_script('bbpc-frontend-js', FORUMAX_FRONT_ASS . 'js/frontend.js', array('jquery'), FORUMAX_VERSION, true);
30 + wp_register_script('bbpc-ajax', FORUMAX_FRONT_ASS . 'js/ajax.js', ['jquery'], FORUMAX_VERSION, true);
31 + wp_register_script('bbpc-frontend', FORUMAX_FRONT_ASS . 'js/frontend.js', ['jquery'], FORUMAX_VERSION, true);
51 32
52 33 // Always localize 'forumax_localize_script' on 'jquery' (since it is loaded everywhere) if bbPress exists.
53 34 // This guarantees that any script requiring these variables won't fail with a ReferenceError.
54 - wp_localize_script('jquery', 'forumax_localize_script', array(
35 + // Forum-specific values are only resolved on bbPress pages; elsewhere they are empty.
36 + $is_bbpress_page = function_exists('is_bbpress') && is_bbpress();
37 +
38 + wp_localize_script('jquery', 'forumax_localize_script', [
55 39 'ajaxurl' => admin_url('admin-ajax.php'),
56 40 'nonce' => wp_create_nonce('forumax-nonce'),
57 - 'bbpc_subscribed_link' => wp_kses_post(bbp_get_forum_subscription_link()),
58 - 'bbpc_subscribed_forum_title' => forumax_forum_title(),
59 - 'bbpc_subscribed_forum_id' => bbp_get_forum_id(),
41 + 'bbpc_subscribed_link' => $is_bbpress_page ? wp_kses_post(bbp_get_forum_subscription_link()) : '',
42 + 'bbpc_subscribed_forum_title' => $is_bbpress_page ? forumax_forum_title() : '',
43 + 'bbpc_subscribed_forum_id' => $is_bbpress_page ? bbp_get_forum_id() : 0,
60 44 'bbp_topic_id' => get_the_ID()
61 - ));
45 + ]);
62 46
63 - if (!function_exists('is_bbpress') || !is_bbpress()) {
47 + wp_register_style('bbpc-single', FORUMAX_STYLES . 'frontend/forum-single.css', [], FORUMAX_VERSION);
48 + wp_register_style('bbpc-forum', FORUMAX_STYLES . 'frontend/forum.css', [], FORUMAX_VERSION);
49 +
50 + if ( is_rtl() ) {
51 + wp_enqueue_style( 'bbpc-main-rtl', FORUMAX_STYLES . 'frontend/main-rtl.css', [], FORUMAX_VERSION );
52 + }
53 +
54 + if (!$is_bbpress_page) {
64 55 return;
65 56 }
66 57
67 - wp_enqueue_style('elegant-icon', FORUMAX_VEND . 'elegant-icon/style.css');
68 - wp_register_script('bbpc-wp-widget', FORUMAX_ASSETS . 'frontend/js/wp-widgets.js', array('jquery'), FORUMAX_VERSION, true);
58 + wp_enqueue_style('elegant-icon', FORUMAX_VEND . 'elegant-icon/style.css', [], FORUMAX_VERSION);
59 + wp_register_script('bbpc-wp-widget', FORUMAX_ASSETS . 'frontend/js/wp-widgets.js', ['jquery'], FORUMAX_VERSION, true);
69 60
70 61 // Nice Select for frontend (prefixed to avoid conflicts)
71 - wp_register_style('frmx-nice-select', FORUMAX_VEND . 'frmx-nice-select/nice-select.css');
72 - wp_register_script('frmx-nice-select', FORUMAX_VEND . 'frmx-nice-select/jquery.nice-select.min.js', array('jquery'), '1.0', true);
62 + wp_register_style('frmx-nice-select', FORUMAX_VEND . 'frmx-nice-select/nice-select.css', [], FORUMAX_VERSION);
63 + wp_register_script('frmx-nice-select', FORUMAX_VEND . 'frmx-nice-select/jquery.nice-select.min.js', ['jquery'], '1.0', true);
73 64
74 65 $bbpc_brand_color = forumax_get_opt('bbpc_brand_color');
75 66 if ( ! empty( $bbpc_brand_color ) ) {
76 67 $dynamic_css = sprintf(
@@ -79,20 +70,18 @@
79 70 );
80 71 wp_add_inline_style( 'bbpc-single', $dynamic_css );
81 72 }
82 73
83 - wp_register_style('bbpc-single', FORUMAX_STYLES . 'frontend/forum-single.css');
84 - wp_register_style('bbpc-forum', FORUMAX_STYLES . 'frontend/forum.css');
85 74
86 - wp_register_script('bbpc-voting', FORUMAX_FRONT_ASS . 'voting/bbpc-voting.js', ['jquery'], FORUMAX_VERSION);
87 - wp_register_script('forumax-custom', FORUMAX_FRONT_ASS . 'js/custom.js', ['jquery'], FORUMAX_VERSION);
88 - wp_register_script('bbp-replies-sorting', FORUMAX_FRONT_ASS . 'js/bbp-replies-sorting.js', ['jquery'], FORUMAX_VERSION);
89 - wp_register_script('docy-forum', FORUMAX_FRONT_ASS . 'js/forum.js', ['jquery'], FORUMAX_VERSION);
75 + wp_register_script('bbpc-voting', FORUMAX_FRONT_ASS . 'voting/bbpc-voting.js', ['jquery'], FORUMAX_VERSION, true);
76 + wp_register_script('forumax-custom', FORUMAX_FRONT_ASS . 'js/custom.js', ['jquery'], FORUMAX_VERSION, true);
77 + wp_register_script('bbp-replies-sorting', FORUMAX_FRONT_ASS . 'js/bbp-replies-sorting.js', ['jquery'], FORUMAX_VERSION, true);
78 + wp_register_script('docy-forum', FORUMAX_FRONT_ASS . 'js/forum.js', ['jquery'], FORUMAX_VERSION, true);
90 79 wp_register_script('frmx-inline-edit', FORUMAX_FRONT_ASS . 'js/frmx-inline-edit.js', ['jquery'], FORUMAX_VERSION, true);
91 80
92 81 wp_enqueue_style('bbpc-single');
93 82 wp_enqueue_style('bbpc-forum');
94 - wp_enqueue_style('bbpc-voting', FORUMAX_FRONT_ASS . 'voting/bbpc-voting.css');
83 + wp_enqueue_style('bbpc-voting', FORUMAX_FRONT_ASS . 'voting/bbpc-voting.css', [], FORUMAX_VERSION);
95 84 wp_enqueue_style('frmx-nice-select');
96 85
97 86 wp_enqueue_script('frmx-nice-select');
98 87 wp_enqueue_script('forumax-custom');
@@ -98,8 +87,9 @@
98 87 wp_enqueue_script('forumax-custom');
99 88 wp_enqueue_script('bbp-replies-sorting');
100 89 wp_enqueue_script('docy-forum');
101 90 wp_enqueue_script('bbpc-voting');
91 + wp_enqueue_script('bbpc-frontend');
102 92
103 93 // Ensure TinyMCE scripts are queued early on all forumax editor pages
104 94 if ( bbp_is_single_topic() || bbp_is_single_forum() || bbp_is_reply_edit() || bbp_is_topic_edit() ) {
105 95 wp_enqueue_editor();
@@ -108,13 +98,13 @@
108 98 // Inline edit — only on single topic pages.
109 99 if ( bbp_is_single_topic() ) {
110 100
111 101 wp_enqueue_script( 'frmx-inline-edit' );
112 - wp_localize_script( 'frmx-inline-edit', 'frmxInlineEdit', array(
102 + wp_localize_script( 'frmx-inline-edit', 'frmxInlineEdit', [
113 103 'ajaxurl' => admin_url( 'admin-ajax.php' ),
114 104 'nonce' => wp_create_nonce( 'forumax-nonce' ),
115 105 'topic_id' => bbp_get_topic_id(),
116 - 'i18n' => array(
106 + 'i18n' => [
117 107 'edit' => esc_html__( 'Edit', 'forumax' ),
118 108 'save' => esc_html__( 'Save', 'forumax' ),
119 109 'cancel' => esc_html__( 'Cancel', 'forumax' ),
120 110 'saving' => esc_html__( 'Saving…', 'forumax' ),
@@ -130,10 +120,10 @@
130 120 'unsaved_changes' => esc_html__( 'Unsaved changes', 'forumax' ),
131 121 'discard_confirm' => esc_html__( 'Discard unsaved changes?', 'forumax' ),
132 122 'discard' => esc_html__( 'Discard', 'forumax' ),
133 123 'keep_editing' => esc_html__( 'Keep editing', 'forumax' ),
134 - ),
135 - ) );
124 + ],
125 + ] );
136 126 }
137 127
138 128
139 129 // User page styles
@@ -138,11 +128,12 @@
138 128
139 129 // User page styles
140 130 if ( function_exists( 'bbp_is_single_user' ) ) {
141 131 if ( bbp_is_single_user() || bbp_is_favorites() || bbp_is_subscriptions() || bbp_is_single_user_engagements() || bbp_is_single_user_topics() || bbp_is_single_user_replies() || bbp_is_single_user_edit() || bbp_is_single_user_profile() ) {
142 - wp_enqueue_style('bbpc-forum-user', FORUMAX_STYLES . 'frontend/forum-user.css');
132 + wp_enqueue_style('bbpc-forum-user', FORUMAX_STYLES . 'frontend/forum-user.css', [], FORUMAX_VERSION);
143 133 }
144 134 }
135 +
145 136 }
146 137 }
147 138
148 139