diff --git a/wp-business-forum.php b/wp-business-forum.php new file mode 100644 index 0000000..391a248 --- /dev/null +++ b/wp-business-forum.php @@ -0,0 +1,87 @@ +post_content, 'business_forum' ) ) { + $classes[] = 'wbf-forum-page'; + } + return $classes; +}); + + +// ── Forum-URL Hilfsfunktion ─────────────────────────────────────────────────── +function wbf_get_forum_url() { + // 1. Gespeicherte Seite aus dem Setup-Wizard + $page_id = get_option('wbf_forum_page_id'); + if ( $page_id ) { + $url = get_permalink( $page_id ); + if ( $url ) return $url; + } + // 2. Fallback: Seite mit [business_forum] Shortcode suchen + $pages = get_posts([ + 'post_type' => 'page', + 'post_status' => 'publish', + 'posts_per_page' => 1, + 's' => 'business_forum', + ]); + if ( $pages ) return get_permalink( $pages[0]->ID ); + // 3. Letzter Fallback: aktuelle Seite + return home_url('/'); +} + +// ── Assets ──────────────────────────────────────────────────────────────────── +add_action( 'wp_enqueue_scripts', function() { + wp_enqueue_style( 'wbf-style', WBF_URL . 'assets/css/forum-style.css', [], WBF_VERSION ); + wp_enqueue_script( 'wbf-script', WBF_URL . 'assets/js/forum-script.js', ['jquery'], WBF_VERSION, true ); + $wbf_user = WBF_Auth::get_current_user(); + if ( $wbf_user ) { + WBF_DB::touch_last_active( $wbf_user->id ); + } + wp_localize_script( 'wbf-script', 'WBF', [ + 'ajax_url' => admin_url('admin-ajax.php'), + 'nonce' => wp_create_nonce('wbf_nonce'), + 'logged_in' => WBF_Auth::is_forum_logged_in() ? 'yes' : 'no', + 'auto_logout_minutes' => (int)( wbf_get_settings()['auto_logout_minutes'] ?? 30 ), + 'my_id' => $wbf_user ? (int)$wbf_user->id : 0, + 'unread_dm' => $wbf_user ? WBF_DB::count_unread_messages($wbf_user->id) : 0, + 'forum_url' => wbf_get_forum_url(), + ]); +}); \ No newline at end of file