Menus. */ __( 'Privacy Policy page setting updated successfully. Remember to update your menus!' ), esc_url( add_query_arg( 'autofocus[panel]', 'nav_menus', admin_url( 'customize.php' ) ) ) ); } } add_settings_error( 'page_for_privacy_policy', 'page_for_privacy_policy', $privacy_page_updated_message, 'success' ); } elseif ( 'create-privacy-page' === $action ) { if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-policy-content.php'; } $privacy_policy_page_content = WP_Privacy_Policy_Content::get_default_content(); $privacy_policy_page_id = wp_insert_post( array( 'post_title' => __( 'Privacy Policy' ), 'post_status' => 'draft', 'post_type' => 'page', 'post_content' => $privacy_policy_page_content, ), true ); if ( is_wp_error( $privacy_policy_page_id ) ) { add_settings_error( 'page_for_privacy_policy', 'page_for_privacy_policy', __( 'Unable to create a Privacy Policy page.' ), 'error' ); } else { update_option( 'wp_page_for_privacy_policy', $privacy_policy_page_id ); wp_redirect( admin_url( 'post.php?post=' . $privacy_policy_page_id . '&action=edit' ) ); exit; } } } // If a Privacy Policy page ID is available, make sure the page actually exists. If not, display an error. $privacy_policy_page_exists = false; $privacy_policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); if ( ! empty( $privacy_policy_page_id ) ) { $privacy_policy_page = get_post( $privacy_policy_page_id ); if ( ! $privacy_policy_page instanceof WP_Post ) { add_settings_error( 'page_for_privacy_policy', 'page_for_privacy_policy', __( 'The currently selected Privacy Policy page does not exist. Please create or select a new page.' ), 'error' ); } else { if ( 'trash' === $privacy_policy_page->post_status ) { add_settings_error( 'page_for_privacy_policy', 'page_for_privacy_policy', sprintf( /* translators: %s: URL to Pages Trash. */ __( 'The currently selected Privacy Policy page is in the Trash. Please create or select a new Privacy Policy page or restore the current page.' ), 'edit.php?post_status=trash&post_type=page' ), 'error' ); } else { $privacy_policy_page_exists = true; } } } $parent_file = 'options-general.php'; wp_enqueue_script( 'privacy-tools' ); require_once ABSPATH . 'wp-admin/admin-header.php'; ?>