bp_core_admin_components_settings_handler ()

处理保存组件设置。

描述

文件:bp-core / admin / bp-core-admin-components.php

function bp_core_admin_components_settings_handler(){//如果不保存设置,则保释。如果(!isset($_POST['bp-admin-component-submit']))返回;//如果nonce失败,请保释。如果(!Check_admin_referer ('bp-admin-component-setup'))返回;action =(收取美元($ _POST['行动 '] ) && '' !== $_ 篇文章['行动'])吗?$ _POST['行动']:$ _POST [' action2 '];If (" === $action ") return;//设置表单提交,现在保存设置。 First, set active components. if ( isset( $_POST['bp_components'] ) ) { // Load up BuddyPress. $bp = buddypress(); // Save settings and upgrade schema. require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); require_once( $bp->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' ); $current_components = $bp->active_components; $submitted = stripslashes_deep( $_POST['bp_components'] ); $required = bp_core_admin_get_components( 'required' ); if ( 'inactive' === $action ) { $submitted = array_diff_key( $current_components, $submitted ); if ( empty( $submitted ) ) { foreach ( $required as $key => $req ) { $submitted[$key] = '1'; } } else { foreach ( $required as $key => $req ) { $submitted[$key] = '1'; } } $bp->active_components = $submitted; $uninstalled_components = array_diff_key($current_components, $bp->active_components); bp_core_install( $bp->active_components ); bp_core_add_page_mappings( $bp->active_components ); bp_update_option( 'bp-active-components', $bp->active_components ); bp_core_uninstall( $uninstalled_components ); } else { if ( empty( $submitted ) ) { foreach ( $required as $key => $req ) { $submitted[$key] = '1'; } } else { foreach ( $required as $key => $req ) { $submitted[$key] = '1'; } } $bp->active_components = $submitted; $uninstalled_components = array_diff_key($current_components, $bp->active_components); bp_core_install( $bp->active_components ); bp_core_add_page_mappings( $bp->active_components ); bp_update_option( 'bp-active-components', $bp->active_components ); bp_core_uninstall( $uninstalled_components ); } } // Assign the Forum Page to forum component. if ( array_key_exists( 'forums', $bp->active_components ) ) { $option = bp_get_option('_bbp_root_slug_custom_slug', '' ); if ( '' === $option ) { $default_title = bp_core_get_directory_page_default_titles(); $title = ( isset( $default_title[ 'new_forums_page' ] ) ) ? $default_title[ 'new_forums_page' ] : ''; $new_page = array( 'post_title' => $title, 'post_status' => 'publish', 'post_author' => bp_loggedin_user_id(), 'post_type' => 'page', 'comment_status' => 'closed', 'ping_status' => 'closed', ); $page_id = wp_insert_post( $new_page ); bp_update_option('_bbp_root_slug_custom_slug', $page_id ); $slug = get_post_field( 'post_name', $page_id ); bp_update_option('_bbp_root_slug', $slug); } } $current_action = 'all'; if ( isset( $_GET['action'] ) && in_array( $_GET['action'], array( 'active', 'inactive' ) ) ) { $current_action = $_GET['action']; } // Where are we redirecting to? $base_url = bp_get_admin_url( add_query_arg( array( 'page' => 'bp-components', 'action' => $current_action, 'updated' => 'true', 'added' => 'true' ), 'admin.php' ) ); // Redirect. wp_redirect( $base_url ); die(); }

更新日志

更新日志
版本 描述
BuddyPress 1.6.0 介绍了。

问题吗?

我们总是很乐意帮助您解决代码或其他问题!搜索我们的开发人员文档联络支持,或与我们联系销售团队