diff --git composer.json composer.json
index 7be27081..f105c2ae 100644
--- composer.json
+++ composer.json
@@ -3,9 +3,10 @@
 	"license": "GPL-2.0-or-later",
 	"description": "bbPress is forum software with a twist from the creators of WordPress.",
 	"require-dev": {
+		"squizlabs/php_codesniffer": "^3.7.2",
 		"phpcompatibility/phpcompatibility-wp": "^2.1",
-		"wp-coding-standards/wpcs": "^2.3",
-		"dealerdirect/phpcodesniffer-composer-installer": "^1.0.0",
+		"wp-coding-standards/wpcs": "^3.0",
+		"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
 		"phpunit/phpunit": "^9",
 		"yoast/phpunit-polyfills": "^3.0"
 	},
diff --git phpcs.xml.dist phpcs.xml.dist
index 7ecf9303..183f7ad2 100644
--- phpcs.xml.dist
+++ phpcs.xml.dist
@@ -105,12 +105,6 @@
 		</properties>
 	</rule>
 
-	<rule ref="WordPress.PHP.NoSilencedErrors">
-		<properties>
-			<property name="use_default_whitelist" value="true"/>
-		</properties>
-	</rule>
-
 
 	<!--
 	#############################################################################
@@ -156,10 +150,6 @@
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.CommaAfterArrayItem.NoComma">
-		<exclude-pattern>/src/*</exclude-pattern>
-	</rule>
-
 
 	<!--
 	#############################################################################
@@ -167,60 +157,84 @@
 	Adjustments which should be removed once the associated issues have been reviewed and resolved.
 	#############################################################################
 	-->
+	
+	<rule ref="Generic.CodeAnalysis.AssignmentInCondition.Found">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
 
-	<!-- Rules that require further review, partially reviewed -->
+	<rule ref="Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
 
-	<rule ref="Generic.Formatting.DisallowMultipleStatements.SameLine">
+	<rule ref="Generic.CodeAnalysis.EmptyStatement.DetectedElseif">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="Generic.Formatting.SpaceAfterCast.TooMuchSpace">
+	<rule ref="Generic.CodeAnalysis.EmptyStatement.DetectedIf">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace">
+	<rule ref="Generic.CodeAnalysis.RequireExplicitBooleanOperatorPrecedence.MissingParentheses">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="Generic.WhiteSpace.ArbitraryParenthesesSpacing.SpaceBeforeClose">
+	<rule ref="Generic.CodeAnalysis.UselessOverridingMethod.Found">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="PEAR.Functions.FunctionCallSignature.Indent">
+	<rule ref="Generic.ControlStructures.InlineControlStructure.NotAllowed">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="PEAR.Functions.FunctionCallSignature.EmptyLine">
+	<rule ref="Generic.Files.LineEndings.InvalidEOLChar">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="PSR2.ControlStructures.SwitchDeclaration.BreakIndent">
+	<rule ref="Generic.Files.OneObjectStructurePerFile.MultipleFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<!-- Rules that require further review, not yet reviewed -->
+	<rule ref="Generic.Formatting.DisallowMultipleStatements.SameLine">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
 
-	<rule ref="Generic.CodeAnalysis.EmptyStatement.DetectedElseif">
+	<rule ref="Generic.Formatting.SpaceAfterCast.TooMuchSpace">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="Generic.CodeAnalysis.EmptyStatement.DetectedIf">
+	<rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="Generic.CodeAnalysis.UselessOverridingMethod.Found">
+	<rule ref="Generic.WhiteSpace.ArbitraryParenthesesSpacing.SpaceBeforeClose">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="Generic.ControlStructures.InlineControlStructure.NotAllowed">
+	<rule ref="Generic.WhiteSpace.DisallowSpaceIndent.SpacesUsed">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="Generic.Files.LineEndings.InvalidEOLChar">
+	<rule ref="NormalizedArrays.Arrays.ArrayBraceSpacing.SpaceAfterArrayOpenerMultiLine">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="Generic.Files.OneObjectStructurePerFile.MultipleFound">
+	<rule ref="NormalizedArrays.Arrays.ArrayBraceSpacing.SpaceAfterArrayOpenerSingleLine">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="NormalizedArrays.Arrays.ArrayBraceSpacing.SpaceBeforeArrayCloserMultiLine">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="NormalizedArrays.Arrays.ArrayBraceSpacing.SpaceBeforeArrayCloserSingleLine">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="NormalizedArrays.Arrays.CommaAfterLast.MissingMultiLine">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="NormalizedArrays.Arrays.CommaAfterLast.MissingMultiLineCloserSameLine">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
@@ -237,10 +251,18 @@
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
+	<rule ref="PEAR.Functions.FunctionCallSignature.EmptyLine">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
 	<rule ref="PEAR.Functions.FunctionCallSignature.FirstArgumentPosition">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
+	<rule ref="PEAR.Functions.FunctionCallSignature.Indent">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
 	<rule ref="PEAR.Functions.FunctionCallSignature.MultipleArguments">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
@@ -269,6 +291,10 @@
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
+	<rule ref="PSR2.Classes.ClassDeclaration.CloseBraceAfterBody">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
 	<rule ref="PSR2.Classes.PropertyDeclaration.ScopeMissing">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
@@ -293,6 +319,10 @@
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
+	<rule ref="PSR2.ControlStructures.SwitchDeclaration.BreakIndent">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
 	<rule ref="PSR2.ControlStructures.SwitchDeclaration.SpaceBeforeColonCASE">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
@@ -301,6 +331,10 @@
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
+	<rule ref="PSR2.Methods.FunctionClosingBrace.SpacingBeforeClose">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
 	<rule ref="PSR2.Methods.MethodDeclaration.Underscore">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
@@ -317,6 +351,14 @@
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
+	<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingBeforeClose">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.ContentAfterBrace">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
 	<rule ref="Squiz.PHP.CommentedOutCode.Found">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
@@ -361,102 +403,150 @@
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayDeclarationSpacing.ArrayItemNoNewLine">
+	<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.EndLine">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayDeclarationSpacing.AssociativeArrayFound">
+	<rule ref="Universal.Arrays.DuplicateArrayKey.Found">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayDeclarationSpacing.CloseBraceNewLine">
+	<rule ref="Universal.ControlStructures.DisallowLonelyIf.Found">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayDeclarationSpacing.NoSpaceAfterArrayOpener">
+	<rule ref="Universal.Files.SeparateFunctionsFromOO.Mixed">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayDeclarationSpacing.NoSpaceBeforeArrayCloser">
+	<rule ref="Universal.NamingConventions.NoReservedKeywordParameterNames.arrayFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayDeclarationSpacing.SpaceBeforeArrayCloser">
+	<rule ref="Universal.NamingConventions.NoReservedKeywordParameterNames.classFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayIndentation.CloseBraceNotAligned">
+	<rule ref="Universal.NamingConventions.NoReservedKeywordParameterNames.defaultFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayIndentation.ItemNotAligned">
+	<rule ref="Universal.NamingConventions.NoReservedKeywordParameterNames.echoFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayIndentation.MultiLineArrayItemNotAligned">
+	<rule ref="Universal.NamingConventions.NoReservedKeywordParameterNames.objectFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayKeySpacingRestrictions.NoSpacesAroundArrayKeys">
+	<rule ref="Universal.NamingConventions.NoReservedKeywordParameterNames.parentFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayKeySpacingRestrictions.SpacesAroundArrayKeys">
+	<rule ref="Universal.NamingConventions.NoReservedKeywordParameterNames.require_onceFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.ArrayKeySpacingRestrictions.TooMuchSpaceAfterKey">
+	<rule ref="Universal.NamingConventions.NoReservedKeywordParameterNames.stringFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.CommaAfterArrayItem.SpaceAfterComma">
+	<rule ref="Universal.Operators.DisallowStandalonePostIncrementDecrement.PostDecrementFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.MultipleStatementAlignment.DoubleArrowNotAligned">
+	<rule ref="Universal.Operators.DisallowStandalonePostIncrementDecrement.PostIncrementFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.MultipleStatementAlignment.MultilineItemSpaceBeforeDoubleArrow">
+	<rule ref="Universal.Operators.StrictComparisons.LooseEqual">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Arrays.MultipleStatementAlignment.SpaceBeforeDoubleArrow">
+	<rule ref="Universal.Operators.StrictComparisons.LooseNotEqual">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition">
+	<rule ref="Universal.WhiteSpace.CommaSpacing.TooMuchSpaceAfter">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.CodeAnalysis.AssignmentInCondition.Found">
+	<rule ref="Universal.WhiteSpace.DisallowInlineTabs.NonIndentTabsUsed">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.CodeAnalysis.EmptyStatement">
+	<rule ref="Universal.WhiteSpace.PrecisionAlignment.Found">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.DateTime.CurrentTimeTimestamp.Requested">
+	<rule ref="WordPress.Arrays.ArrayDeclarationSpacing.ArrayItemNoNewLine">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.DateTime.RestrictedFunctions.date_date">
+	<rule ref="WordPress.Arrays.ArrayDeclarationSpacing.AssociativeArrayFound">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.DB.PreparedSQL.InterpolatedNotPrepared">
+	<rule ref="WordPress.Arrays.ArrayIndentation.CloseBraceNotAligned">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.Arrays.ArrayIndentation.ItemNotAligned">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.Arrays.ArrayIndentation.MultiLineArrayItemNotAligned">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.Arrays.ArrayKeySpacingRestrictions.NoSpacesAroundArrayKeys">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.Arrays.ArrayKeySpacingRestrictions.SpacesAroundArrayKeys">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.Arrays.ArrayKeySpacingRestrictions.TooMuchSpaceAfterKey">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.Arrays.MultipleStatementAlignment.DoubleArrowNotAligned">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.Arrays.MultipleStatementAlignment.MultilineItemSpaceBeforeDoubleArrow">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
+	<rule ref="WordPress.Arrays.MultipleStatementAlignment.SpaceBeforeDoubleArrow">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.DB.PreparedSQL.InterpolatedNotPrepared">
+    <exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
 	<rule ref="WordPress.DB.PreparedSQL.NotPrepared">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Files.FileName.InvalidClassFileName">
+	<rule ref="WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.DateTime.CurrentTimeTimestamp.Requested">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
+	<rule ref="WordPress.DateTime.RestrictedFunctions.date_date">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
+	<rule ref="WordPress.Files.FileName.InvalidClassFileName">
+    <exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+
 	<rule ref="WordPress.Files.FileName.NotHyphenatedLowercase">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
@@ -470,7 +560,7 @@
 	</rule>
 
 	<rule ref="WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound">
-		<exclude-pattern>/src/*</exclude-pattern>
+    <exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
 	<rule ref="WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound">
@@ -485,10 +575,6 @@
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid">
-		<exclude-pattern>/src/*</exclude-pattern>
-	</rule>
-
 	<rule ref="WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
@@ -517,116 +603,120 @@
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.PHP.StrictComparisons.LooseComparison">
+	<rule ref="WordPress.PHP.StrictInArray.MissingTrueStrict">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.PHP.StrictInArray.MissingTrueStrict">
+	<rule ref="WordPress.Security.EscapeOutput.OutputNotEscaped">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.PHP.YodaConditions.NotYoda">
+	<rule ref="WordPress.Security.EscapeOutput.UnsafePrintingFunction">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Security.EscapeOutput.OutputNotEscaped">
+	<rule ref="WordPress.Security.NonceVerification.Missing">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Security.EscapeOutput.UnsafePrintingFunction">
+	<rule ref="WordPress.Security.NonceVerification.Recommended">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Security.NonceVerification.Missing">
+	<rule ref="WordPress.WP.AlternativeFunctions.json_encode_json_encode">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.Security.NonceVerification.Recommended">
+	<rule ref="WordPress.WP.AlternativeFunctions.parse_url_parse_url">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing.ExtraSpaceAfterCloseParenthesis">
+	<rule ref="WordPress.WP.AlternativeFunctions.rand_mt_rand">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing.ExtraSpaceAfterOpenParenthesis">
+	<rule ref="WordPress.WP.AlternativeFunctions.strip_tags_strip_tag">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing.NoSpaceAfterOpenParenthesis">
+	<rule ref="WordPress.WP.AlternativeFunctions.strip_tags_strip_tags">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing.NoSpaceBeforeCloseParenthesis">
+	<rule ref="WordPress.WP.Capabilities.Unknown">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.DisallowInlineTabs.NonIndentTabsUsed">
+	<rule ref="WordPress.WP.DeprecatedParameters.Get_termsParam2Found">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.OperatorSpacing.NoSpaceAfter">
+	<rule ref="WordPress.WP.DeprecatedParameters.Wp_count_termsParam2Found">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.OperatorSpacing.NoSpaceBefore">
+	<rule ref="WordPress.WP.DiscouragedFunctions.query_posts_query_posts">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.OperatorSpacing.SpacingAfter">
+	<rule ref="WordPress.WP.DiscouragedFunctions.wp_reset_query_wp_reset_query">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.OperatorSpacing.SpacingBefore">
+	<rule ref="WordPress.WP.EnqueuedResourceParameters.NotInFooter">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WhiteSpace.PrecisionAlignment.Found">
+	<rule ref="WordPress.WP.GlobalVariablesOverride.Prohibited">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.AlternativeFunctions.json_encode_json_encode">
+	<rule ref="WordPress.WP.I18n.LowLevelTranslationFunction">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.AlternativeFunctions.parse_url_parse_url">
+	<rule ref="WordPress.WP.I18n.MissingTranslatorsComment">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.AlternativeFunctions.rand_mt_rand">
+	<rule ref="WordPress.WP.I18n.NonSingularStringLiteralText">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.AlternativeFunctions.strip_tags_strip_tags">
+	<rule ref="WordPress.WP.PostsPerPage.posts_per_page_posts_per_page">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.DiscouragedFunctions.query_posts_query_posts">
+	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing.ExtraSpaceAfterOpenParenthesis">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.DiscouragedFunctions.wp_reset_query_wp_reset_query">
+	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing.ExtraSpaceBeforeCloseParenthesis">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.EnqueuedResourceParameters.NotInFooter">
+	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing.NoSpaceAfterOpenParenthesis">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.GlobalVariablesOverride.Prohibited">
+	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing.NoSpaceBeforeCloseParenthesis">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.I18n.LowLevelTranslationFunction">
+	<rule ref="WordPress.WhiteSpace.OperatorSpacing.NoSpaceAfter">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.I18n.MissingTranslatorsComment">
+	<rule ref="WordPress.WhiteSpace.OperatorSpacing.NoSpaceBefore">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
-	<rule ref="WordPress.WP.I18n.NonSingularStringLiteralText">
+	<rule ref="WordPress.WhiteSpace.OperatorSpacing.SpacingAfter">
 		<exclude-pattern>/src/*</exclude-pattern>
 	</rule>
 
+	<rule ref="WordPress.WhiteSpace.OperatorSpacing.SpacingBefore">
+		<exclude-pattern>/src/*</exclude-pattern>
+	</rule>
+	
 </ruleset>
diff --git src/includes/admin/classes/class-bbp-admin.php src/includes/admin/classes/class-bbp-admin.php
index 7b3b00b3..4316c10f 100644
--- src/includes/admin/classes/class-bbp-admin.php
+++ src/includes/admin/classes/class-bbp-admin.php
@@ -972,11 +972,11 @@ class BBP_Admin {
 		/** Paths *************************************************************/
 
 		// Forum Archive
-		} elseif ( $post->post_name === bbp_get_root_slug() ) {
+		} elseif ( bbp_get_root_slug() === $post->post_name ) {
 			$retval[] = esc_html_x( 'Forum Archive', 'page label', 'bbpress' );
 
 		// Topic Archive
-		} elseif ( $post->post_name === bbp_get_topic_archive_slug() ) {
+		} elseif ( bbp_get_topic_archive_slug() === $post->post_name ) {
 			$retval[] = esc_html_x( 'Topic Archive', 'page label', 'bbpress' );
 		}
 
diff --git src/includes/admin/classes/class-bbp-converter-base.php src/includes/admin/classes/class-bbp-converter-base.php
index 989fcd34..ee93a622 100644
--- src/includes/admin/classes/class-bbp-converter-base.php
+++ src/includes/admin/classes/class-bbp-converter-base.php
@@ -472,7 +472,7 @@ abstract class BBP_Converter_Base {
 
 								// Translates a field from the old forum.
 								} elseif ( isset( $row['callback_method'] ) ) {
-									if ( ( $row['callback_method'] === 'callback_userid' ) && ( false === $this->convert_users ) ) {
+									if ( ( 'callback_userid' === $row['callback_method'] ) && ( false === $this->convert_users ) ) {
 										$insert_postmeta[ $row['to_fieldname'] ] = $forum[ $row['from_fieldname'] ];
 									} else {
 										$insert_postmeta[ $row['to_fieldname'] ] = call_user_func_array( array( $this, $row['callback_method'] ), array( $forum[ $row['from_fieldname'] ], $forum ) );
@@ -489,7 +489,7 @@ abstract class BBP_Converter_Base {
 					/** Step 3 ************************************************/
 
 					// Something to insert into the destination field
-					if ( count( $insert_post ) > 0 || ( $to_type == 'tags' && count( $insert_postmeta ) > 0 ) ) {
+					if ( count( $insert_post ) > 0 || ( 'tags' === $to_type && count( $insert_postmeta ) > 0 ) ) {
 
 						switch ( $to_type ) {
 
diff --git src/includes/admin/converters/AEF.php src/includes/admin/converters/AEF.php
index 4bebb486..abc29935 100644
--- src/includes/admin/converters/AEF.php
+++ src/includes/admin/converters/AEF.php
@@ -587,7 +587,7 @@ class AEF extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
diff --git src/includes/admin/converters/Drupal7.php src/includes/admin/converters/Drupal7.php
index 54d161ef..6dee1313 100644
--- src/includes/admin/converters/Drupal7.php
+++ src/includes/admin/converters/Drupal7.php
@@ -585,7 +585,7 @@ class Drupal7 extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
diff --git src/includes/admin/converters/Example.php src/includes/admin/converters/Example.php
index 4b7c4ecf..df85490a 100644
--- src/includes/admin/converters/Example.php
+++ src/includes/admin/converters/Example.php
@@ -706,6 +706,6 @@ class Example extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 }
diff --git src/includes/admin/converters/FluxBB.php src/includes/admin/converters/FluxBB.php
index 58c5e97c..e9fe9376 100644
--- src/includes/admin/converters/FluxBB.php
+++ src/includes/admin/converters/FluxBB.php
@@ -608,7 +608,7 @@ class FluxBB extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
diff --git src/includes/admin/converters/Invision.php src/includes/admin/converters/Invision.php
index 56ae94bd..39ac6b60 100644
--- src/includes/admin/converters/Invision.php
+++ src/includes/admin/converters/Invision.php
@@ -482,7 +482,7 @@ class Invision extends BBP_Converter_Base {
 	 * @return string WordPress safe
 	 */
 	public function callback_forum_type( $status = 0 ) {
-		if ( $status == -1 ) {
+		if ( -1 == $status ) {
 			$status = 'category';
 		} else {
 			$status = 'forum';
@@ -536,7 +536,7 @@ class Invision extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $pass_array['salt'] ) . md5( $this->to_char( $password ) ) ) );
+		return ( md5( md5( $pass_array['salt'] ) . md5( $this->to_char( $password ) ) ) == $pass_array['hash'] );
 	}
 
 	private function to_char( $input ) {
diff --git src/includes/admin/converters/Kunena1.php src/includes/admin/converters/Kunena1.php
index de5bc88f..1c9e43ce 100644
--- src/includes/admin/converters/Kunena1.php
+++ src/includes/admin/converters/Kunena1.php
@@ -463,7 +463,7 @@ class Kunena1 extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass($password, $serialized_pass) {
 		$pass_array = unserialize($serialized_pass);
-		return ( $pass_array['hash'] == md5(md5($password) . $pass_array['salt']) );
+		return ( md5(md5($password) . $pass_array['salt']) == $pass_array['hash'] );
 	}
 
 	/**
@@ -473,7 +473,7 @@ class Kunena1 extends BBP_Converter_Base {
 	 * @return string WordPress safe
 	 */
 	public function callback_forum_type( $status = 0 ) {
-		if ( $status == 0 ) {
+		if ( 0 == $status ) {
 			$status = 'category';
 		} else {
 			$status = 'forum';
diff --git src/includes/admin/converters/Kunena2.php src/includes/admin/converters/Kunena2.php
index ebac4206..61d30cd5 100644
--- src/includes/admin/converters/Kunena2.php
+++ src/includes/admin/converters/Kunena2.php
@@ -494,7 +494,7 @@ class Kunena2 extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass($password, $serialized_pass) {
 		$pass_array = unserialize($serialized_pass);
-		return ( $pass_array['hash'] == md5(md5($password) . $pass_array['salt']) );
+		return ( md5(md5($password) . $pass_array['salt']) == $pass_array['hash'] );
 	}
 	/**
 	 * Translate the forum type from Kunena v2.x numerics to WordPress's strings.
@@ -503,7 +503,7 @@ class Kunena2 extends BBP_Converter_Base {
 	 * @return string WordPress safe
 	 */
 	public function callback_forum_type( $status = 0 ) {
-		if ( $status == 0 ) {
+		if ( 0 == $status ) {
 			$status = 'category';
 		} else {
 			$status = 'forum';
diff --git src/includes/admin/converters/Kunena3.php src/includes/admin/converters/Kunena3.php
index 23bfbd11..4ac8ce75 100644
--- src/includes/admin/converters/Kunena3.php
+++ src/includes/admin/converters/Kunena3.php
@@ -718,7 +718,7 @@ class Kunena3 extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
@@ -728,7 +728,7 @@ class Kunena3 extends BBP_Converter_Base {
 	 * @return string WordPress safe
 	 */
 	public function callback_forum_type( $status = 0 ) {
-		if ( $status == 0 ) {
+		if ( 0 == $status ) {
 			$status = 'category';
 		} else {
 			$status = 'forum';
diff --git src/includes/admin/converters/MyBB.php src/includes/admin/converters/MyBB.php
index 4e22ab5c..8cd64de5 100644
--- src/includes/admin/converters/MyBB.php
+++ src/includes/admin/converters/MyBB.php
@@ -534,7 +534,7 @@ class MyBB extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
diff --git src/includes/admin/converters/PHPFox3.php src/includes/admin/converters/PHPFox3.php
index 4626b395..ac4417ba 100644
--- src/includes/admin/converters/PHPFox3.php
+++ src/includes/admin/converters/PHPFox3.php
@@ -524,7 +524,7 @@ class PHPFox3 extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
diff --git src/includes/admin/converters/PHPWind.php src/includes/admin/converters/PHPWind.php
index e0419ce0..9ea19f01 100644
--- src/includes/admin/converters/PHPWind.php
+++ src/includes/admin/converters/PHPWind.php
@@ -504,7 +504,7 @@ class PHPWind extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
diff --git src/includes/admin/converters/Phorum.php src/includes/admin/converters/Phorum.php
index 82a75adb..72cd7563 100644
--- src/includes/admin/converters/Phorum.php
+++ src/includes/admin/converters/Phorum.php
@@ -534,7 +534,7 @@ class Phorum extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
diff --git src/includes/admin/converters/PunBB.php src/includes/admin/converters/PunBB.php
index 63712f07..76ce903c 100644
--- src/includes/admin/converters/PunBB.php
+++ src/includes/admin/converters/PunBB.php
@@ -681,7 +681,7 @@ class PunBB extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
diff --git src/includes/admin/converters/SMF.php src/includes/admin/converters/SMF.php
index 8e405683..46e8a293 100644
--- src/includes/admin/converters/SMF.php
+++ src/includes/admin/converters/SMF.php
@@ -676,7 +676,7 @@ class SMF extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] === sha1( strtolower( $pass_array['username'] ) . $password ) ? true : false );
+		return ( sha1( strtolower( $pass_array['username'] ) . $password ) === $pass_array['hash'] ? true : false );
 	}
 
 	/**
diff --git src/includes/admin/converters/Vanilla.php src/includes/admin/converters/Vanilla.php
index 8f18b6b6..1021f16f 100644
--- src/includes/admin/converters/Vanilla.php
+++ src/includes/admin/converters/Vanilla.php
@@ -571,7 +571,7 @@ class Vanilla extends BBP_Converter_Base {
 	 * @return int
 	 */
 	public function callback_forum_parent( $parent = 0 ) {
-		if ( $parent == -1 ) {
+		if ( -1 == $parent ) {
 			return 0;
 		} else {
 			return $parent;
diff --git src/includes/admin/converters/XMB.php src/includes/admin/converters/XMB.php
index eb1fdce0..9ece8d03 100644
--- src/includes/admin/converters/XMB.php
+++ src/includes/admin/converters/XMB.php
@@ -641,7 +641,7 @@ class XMB extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] == $pass_array['hash'] ) );
 	}
 
 	/**
diff --git src/includes/admin/converters/XenForo.php src/includes/admin/converters/XenForo.php
index 834c5268..fb12b427 100644
--- src/includes/admin/converters/XenForo.php
+++ src/includes/admin/converters/XenForo.php
@@ -699,9 +699,9 @@ class XenForo extends BBP_Converter_Base {
 		$pass_array = unserialize( $serialized_pass );
 		switch ( $pass_array['hashFunc'] ) {
 			case 'sha256':
-				return ( $pass_array['hash'] == hash( 'sha256', hash( 'sha256', $password ) . $pass_array['salt'] ) );
+				return ( hash( 'sha256', hash( 'sha256', $password ) . $pass_array['salt'] ) == $pass_array['hash'] );
 			case 'sha1':
-				return ( $pass_array['hash'] == sha1( sha1( $password ) . $pass_array['salt'] ) );
+				return ( sha1( sha1( $password ) . $pass_array['salt'] ) == $pass_array['hash'] );
 		}
 	}
 
diff --git src/includes/admin/converters/bbPress1.php src/includes/admin/converters/bbPress1.php
index fe202662..8c455a45 100644
--- src/includes/admin/converters/bbPress1.php
+++ src/includes/admin/converters/bbPress1.php
@@ -661,7 +661,7 @@ class bbPress1 extends BBP_Converter_Base {
 	 * @return string WordPress safe
 	 */
 	public function callback_forum_type( $status = 0 ) {
-		if ( $status == 1 ) {
+		if ( 1 == $status ) {
 			$status = 'category';
 		} else {
 			$status = 'forum';
diff --git src/includes/admin/converters/e107v1.php src/includes/admin/converters/e107v1.php
index efc971a1..d4938e25 100644
--- src/includes/admin/converters/e107v1.php
+++ src/includes/admin/converters/e107v1.php
@@ -489,7 +489,7 @@ class e107v1 extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
+		return ( md5( md5( $password ). $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
@@ -499,7 +499,7 @@ class e107v1 extends BBP_Converter_Base {
 	 * @return string WordPress safe
 	 */
 	public function callback_forum_type( $status = 0 ) {
-		if ( $status == 0 ) {
+		if ( 0 == $status ) {
 			$status = 'category';
 		} else {
 			$status = 'forum';
diff --git src/includes/admin/converters/vBulletin.php src/includes/admin/converters/vBulletin.php
index d2664745..55fcb977 100644
--- src/includes/admin/converters/vBulletin.php
+++ src/includes/admin/converters/vBulletin.php
@@ -651,7 +651,7 @@ class vBulletin extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ) . $pass_array['salt'] ) );
+		return ( md5( md5( $password ) . $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
@@ -661,7 +661,7 @@ class vBulletin extends BBP_Converter_Base {
 	 * @return string WordPress safe
 	 */
 	public function callback_forum_type( $status = 0 ) {
-		if ( $status == -1 ) {
+		if ( -1 == $status ) {
 			$status = 'category';
 		} else {
 			$status = 'forum';
diff --git src/includes/admin/converters/vBulletin3.php src/includes/admin/converters/vBulletin3.php
index e325bac1..d80e84f8 100644
--- src/includes/admin/converters/vBulletin3.php
+++ src/includes/admin/converters/vBulletin3.php
@@ -655,7 +655,7 @@ class vBulletin3 extends BBP_Converter_Base {
 	 */
 	public function authenticate_pass( $password, $serialized_pass ) {
 		$pass_array = unserialize( $serialized_pass );
-		return ( $pass_array['hash'] == md5( md5( $password ) . $pass_array['salt'] ) );
+		return ( md5( md5( $password ) . $pass_array['salt'] ) == $pass_array['hash'] );
 	}
 
 	/**
@@ -665,7 +665,7 @@ class vBulletin3 extends BBP_Converter_Base {
 	 * @return string WordPress safe
 	 */
 	public function callback_forum_type( $status = 0 ) {
-		if ( $status == -1 ) {
+		if ( -1 == $status ) {
 			$status = 'category';
 		} else {
 			$status = 'forum';
diff --git src/includes/admin/forums.php src/includes/admin/forums.php
index 54ad64e6..965380ff 100644
--- src/includes/admin/forums.php
+++ src/includes/admin/forums.php
@@ -447,13 +447,13 @@ class BBP_Forums_Admin {
 
 		switch ( $notice ) {
 			case 'opened' :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem opening the forum "%1$s".', 'bbpress' ), $forum_title )
 					: sprintf( esc_html__( 'Forum "%1$s" successfully opened.',             'bbpress' ), $forum_title );
 				break;
 
 			case 'closed' :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem closing the forum "%1$s".', 'bbpress' ), $forum_title )
 					: sprintf( esc_html__( 'Forum "%1$s" successfully closed.',             'bbpress' ), $forum_title );
 				break;
@@ -461,7 +461,7 @@ class BBP_Forums_Admin {
 
 		// Do additional forum toggle notice filters (admin side)
 		$message = apply_filters( 'bbp_toggle_forum_notice_admin', $message, $forum_id, $notice, $is_failure );
-		$class   = ( $is_failure === true )
+		$class   = ( true === $is_failure )
 			? 'error'
 			: 'updated';
 
diff --git src/includes/admin/replies.php src/includes/admin/replies.php
index c294373e..250797db 100644
--- src/includes/admin/replies.php
+++ src/includes/admin/replies.php
@@ -421,7 +421,7 @@ class BBP_Replies_Admin {
 		// Get reply author data
 		$anonymous_data = bbp_filter_anonymous_post_data();
 		$author_id      = bbp_get_reply_author_id( $reply_id );
-		$is_edit        = ( isset( $_POST['hidden_post_status'] ) && ( $_POST['hidden_post_status'] !== 'draft' ) );
+		$is_edit        = ( isset( $_POST['hidden_post_status'] ) && ( 'draft' !== $_POST['hidden_post_status'] ) );
 
 		// Formally update the reply
 		bbp_update_reply( $reply_id, $topic_id, $forum_id, $anonymous_data, $author_id, $is_edit, $reply_to );
@@ -558,25 +558,25 @@ class BBP_Replies_Admin {
 
 		switch ( $notice ) {
 			case 'spammed' :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem marking the reply "%1$s" as spam.', 'bbpress' ), $reply_title )
 					: sprintf( esc_html__( 'Reply "%1$s" successfully marked as spam.',             'bbpress' ), $reply_title );
 				break;
 
 			case 'unspammed' :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure  )
 					? sprintf( esc_html__( 'There was a problem unmarking the reply "%1$s" as spam.', 'bbpress' ), $reply_title )
 					: sprintf( esc_html__( 'Reply "%1$s" successfully unmarked as spam.',             'bbpress' ), $reply_title );
 				break;
 
 			case 'approved' :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure  )
 					? sprintf( esc_html__( 'There was a problem approving the reply "%1$s".', 'bbpress' ), $reply_title )
 					: sprintf( esc_html__( 'Reply "%1$s" successfully approved.',             'bbpress' ), $reply_title );
 				break;
 
 			case 'unapproved' :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem unapproving the reply "%1$s".', 'bbpress' ), $reply_title )
 					: sprintf( esc_html__( 'Reply "%1$s" successfully unapproved.',             'bbpress' ), $reply_title );
 				break;
@@ -584,7 +584,7 @@ class BBP_Replies_Admin {
 
 		// Do additional reply toggle notice filters (admin side)
 		$message = apply_filters( 'bbp_toggle_reply_notice_admin', $message, $reply_id, $notice, $is_failure );
-		$class   = ( $is_failure === true )
+		$class   = ( true === $is_failure )
 			? 'error'
 			: 'updated';
 
diff --git src/includes/admin/tools/repair.php src/includes/admin/tools/repair.php
index 4504edfc..4638e7cd 100644
--- src/includes/admin/tools/repair.php
+++ src/includes/admin/tools/repair.php
@@ -1066,7 +1066,7 @@ function bbp_admin_repair_sticky() {
 
 			// If the topic is not a super sticky, and the forum ID does not
 			// match the topic's forum ID, unset the forum's sticky meta.
-			if ( ! bbp_is_topic_super_sticky( $topic_id ) && ( $forum_id !== bbp_get_topic_forum_id( $topic_id ) ) ) {
+			if ( ! bbp_is_topic_super_sticky( $topic_id ) && ( bbp_get_topic_forum_id( $topic_id ) ) !== $forum_id ) {
 				unset( $forum_stickies[ $forum_id ][ $id ] );
 			}
 		}
diff --git src/includes/admin/topics.php src/includes/admin/topics.php
index def70dd2..8fcc27aa 100644
--- src/includes/admin/topics.php
+++ src/includes/admin/topics.php
@@ -538,7 +538,7 @@ class BBP_Topics_Admin {
 		// Get topic author data
 		$anonymous_data = bbp_filter_anonymous_post_data();
 		$author_id      = bbp_get_topic_author_id( $topic_id );
-		$is_edit        = ( isset( $_POST['hidden_post_status'] ) && ( $_POST['hidden_post_status'] !== 'draft' ) );
+		$is_edit        = ( isset( $_POST['hidden_post_status'] ) && ( 'draft' !== $_POST['hidden_post_status'] ) );
 
 		// Formally update the topic
 		bbp_update_topic( $topic_id, $forum_id, $anonymous_data, $author_id, $is_edit );
@@ -709,55 +709,55 @@ class BBP_Topics_Admin {
 		// Which notice?
 		switch ( $notice ) {
 			case 'opened'    :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem opening the topic "%1$s".', 'bbpress' ), $topic_title )
 					: sprintf( esc_html__( 'Topic "%1$s" successfully opened.',             'bbpress' ), $topic_title );
 				break;
 
 			case 'closed'    :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem closing the topic "%1$s".', 'bbpress' ), $topic_title )
 					: sprintf( esc_html__( 'Topic "%1$s" successfully closed.',             'bbpress' ), $topic_title );
 				break;
 
 			case 'super_sticky' :
-				$message = ( $is_failure === true )
+				$message = ( true ===  $is_failure )
 					? sprintf( esc_html__( 'There was a problem sticking the topic "%1$s" to front.', 'bbpress' ), $topic_title )
 					: sprintf( esc_html__( 'Topic "%1$s" successfully stuck to front.',               'bbpress' ), $topic_title );
 				break;
 
 			case 'stuck'   :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem sticking the topic "%1$s".', 'bbpress' ), $topic_title )
 					: sprintf( esc_html__( 'Topic "%1$s" successfully stuck.',               'bbpress' ), $topic_title );
 				break;
 
 			case 'unstuck' :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure  )
 					? sprintf( esc_html__( 'There was a problem unsticking the topic "%1$s".', 'bbpress' ), $topic_title )
 					: sprintf( esc_html__( 'Topic "%1$s" successfully unstuck.',               'bbpress' ), $topic_title );
 				break;
 
 			case 'spammed'   :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem marking the topic "%1$s" as spam.', 'bbpress' ), $topic_title )
 					: sprintf( esc_html__( 'Topic "%1$s" successfully marked as spam.',             'bbpress' ), $topic_title );
 				break;
 
 			case 'unspammed' :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem unmarking the topic "%1$s" as spam.', 'bbpress' ), $topic_title )
 					: sprintf( esc_html__( 'Topic "%1$s" successfully unmarked as spam.',             'bbpress' ), $topic_title );
 				break;
 
 			case 'approved'   :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem approving the topic "%1$s".', 'bbpress' ), $topic_title )
 					: sprintf( esc_html__( 'Topic "%1$s" successfully approved.',             'bbpress' ), $topic_title );
 				break;
 
 			case 'unapproved' :
-				$message = ( $is_failure === true )
+				$message = ( true === $is_failure )
 					? sprintf( esc_html__( 'There was a problem unapproving the topic "%1$s".', 'bbpress' ), $topic_title )
 					: sprintf( esc_html__( 'Topic "%1$s" successfully unapproved.',             'bbpress' ), $topic_title );
 				break;
@@ -765,7 +765,7 @@ class BBP_Topics_Admin {
 
 		// Do additional topic toggle notice filters (admin side)
 		$message = apply_filters( 'bbp_toggle_topic_notice_admin', $message, $topic_id, $notice, $is_failure );
-		$class   = ( $is_failure === true )
+		$class   = ( true === $is_failure )
 			? 'error'
 			: 'updated';
 
diff --git src/includes/common/formatting.php src/includes/common/formatting.php
index 0f9ff4f1..746f89c1 100644
--- src/includes/common/formatting.php
+++ src/includes/common/formatting.php
@@ -368,7 +368,7 @@ function bbp_make_clickable( $text = '' ) {
 			$nested_code_pre--;
 		}
 
-		if ( $nested_code_pre || empty( $piece ) || ( $piece[0] === '<' && ! preg_match( '|^<\s*[\w]{1,20}+://|', $piece ) ) ) {
+		if ( $nested_code_pre || empty( $piece ) || ( '<' === $piece[0] && ! preg_match( '|^<\s*[\w]{1,20}+://|', $piece ) ) ) {
 			$r .= $piece;
 			continue;
 		}
diff --git src/includes/common/locks.php src/includes/common/locks.php
index 49558e86..0d3945fb 100644
--- src/includes/common/locks.php
+++ src/includes/common/locks.php
@@ -43,7 +43,7 @@ function bbp_check_post_lock( $post_id = 0 ) {
 	$time_window = apply_filters( 'bbp_check_post_lock_window', 3 * MINUTE_IN_SECONDS );
 
 	// Return user who is or last edited
-	if ( ! empty( $time ) && ( $time > ( time() - $time_window ) ) && ( $user !== bbp_get_current_user_id() ) ) {
+	if ( ! empty( $time ) && ( $time > ( time() - $time_window ) ) && ( bbp_get_current_user_id() ) !== $user ) {
 		return (int) $user;
 	}
 
diff --git src/includes/common/template.php src/includes/common/template.php
index 12467827..9babd75e 100644
--- src/includes/common/template.php
+++ src/includes/common/template.php
@@ -193,7 +193,7 @@ function bbp_is_forum_edit() {
 	$wp_query = bbp_get_wp_query();
 
 	// Check query
-	if ( ! empty( $wp_query->bbp_is_forum_edit ) && ( $wp_query->bbp_is_forum_edit === true ) ) {
+	if ( ! empty( $wp_query->bbp_is_forum_edit ) && ( true === $wp_query->bbp_is_forum_edit ) ) {
 		$retval = true;
 
 	// Editing in admin
@@ -291,7 +291,7 @@ function bbp_is_topic_edit() {
 	$wp_query = bbp_get_wp_query();
 
 	// Check query
-	if ( ! empty( $wp_query->bbp_is_topic_edit ) && ( $wp_query->bbp_is_topic_edit === true ) ) {
+	if ( ! empty( $wp_query->bbp_is_topic_edit ) && ( true === $wp_query->bbp_is_topic_edit ) ) {
 		$retval = true;
 
 	// Editing in admin
@@ -948,7 +948,7 @@ function bbp_is_edit() {
 	$wp_query = bbp_get_wp_query();
 
 	// Check query
-	if ( ! empty( $wp_query->bbp_is_edit ) && ( $wp_query->bbp_is_edit === true ) ) {
+	if ( ! empty( $wp_query->bbp_is_edit ) && ( true === $wp_query->bbp_is_edit ) ) {
 		$retval = true;
 	}
 
@@ -2308,7 +2308,7 @@ function bbp_breadcrumb( $args = array() ) {
 		}
 
 		// Don't show root if viewing page in place of forum archive
-		if ( ! empty( $root_id ) && ( ( is_single() || is_page() ) && ( $root_id === get_the_ID() ) ) ) {
+		if ( ! empty( $root_id ) && ( ( is_single() || is_page() ) && ( get_the_ID() === $root_id ) ) ) {
 			$pre_include_root = false;
 		}
 
diff --git src/includes/core/abstraction.php src/includes/core/abstraction.php
index 25f54a4e..8945bbc0 100644
--- src/includes/core/abstraction.php
+++ src/includes/core/abstraction.php
@@ -471,7 +471,7 @@ function bbp_maybe_intercept( $action = '', $args = array() ) {
 	$filtered = call_user_func_array( 'apply_filters', $args );
 
 	// Return filtered value, or default if not intercepted
-	return ( $filtered === reset( $r ) )
+	return ( reset( $r ) === $filtered )
 		? $default
 		: $filtered;
 }
diff --git src/includes/core/update.php src/includes/core/update.php
index 7b2997ec..bd331649 100644
--- src/includes/core/update.php
+++ src/includes/core/update.php
@@ -68,7 +68,7 @@ function bbp_is_activation( $basename = '' ) {
 	}
 
 	// The plugin(s) being activated
-	if ( $action === 'activate' ) {
+	if ( 'activate' === $action ) {
 		$plugins = isset( $_GET['plugin'] ) ? array( $_GET['plugin'] ) : array();
 	} else {
 		$plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
@@ -118,7 +118,7 @@ function bbp_is_deactivation( $basename = '' ) {
 	}
 
 	// The plugin(s) being deactivated
-	if ( $action === 'deactivate' ) {
+	if ( 'deactivate' === $action ) {
 		$plugins = isset( $_GET['plugin'] ) ? array( $_GET['plugin'] ) : array();
 	} else {
 		$plugins = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
diff --git src/includes/extend/akismet.php src/includes/extend/akismet.php
index 1617ae6a..bcd05c78 100644
--- src/includes/extend/akismet.php
+++ src/includes/extend/akismet.php
@@ -595,7 +595,7 @@ class BBP_Akismet {
 				}
 
 				// Normal result: true
-				if ( ! empty( $this->last_post['bbp_akismet_result'] ) && ( $this->last_post['bbp_akismet_result'] === 'true' ) ) {
+				if ( ! empty( $this->last_post['bbp_akismet_result'] ) && ( 'true' === $this->last_post['bbp_akismet_result'] ) ) {
 
 					// Leave a trail so other's know what we did
 					update_post_meta( $post_id, '_bbp_akismet_result', 'true' );
@@ -618,7 +618,7 @@ class BBP_Akismet {
 					}
 
 				// Normal result: false
-				} elseif ( ! empty( $this->last_post['bbp_akismet_result'] ) && ( $this->last_post['bbp_akismet_result'] === 'false' ) ) {
+				} elseif ( ! empty( $this->last_post['bbp_akismet_result'] ) && ( 'false' === $this->last_post['bbp_akismet_result'] ) ) {
 
 					// Leave a trail so other's know what we did
 					update_post_meta( $post_id, '_bbp_akismet_result', 'false' );
diff --git src/includes/forums/functions.php src/includes/forums/functions.php
index fa54e9d8..a459410f 100644
--- src/includes/forums/functions.php
+++ src/includes/forums/functions.php
@@ -292,7 +292,7 @@ function bbp_new_forum_handler( $action = '' ) {
 
 		// If the forum is trash, or the forum_status is switched to
 		// trash, trash it properly
-		if ( ( get_post_field( 'post_status', $forum_id ) === bbp_get_trash_status_id() ) || ( $forum_data['post_status'] === bbp_get_trash_status_id() ) ) {
+		if ( ( get_post_field( 'post_status', $forum_id ) === bbp_get_trash_status_id() ) || ( bbp_get_trash_status_id() === $forum_data['post_status'] ) ) {
 
 			// Trash the reply
 			wp_trash_post( $forum_id );
@@ -304,7 +304,7 @@ function bbp_new_forum_handler( $action = '' ) {
 		/** Spam Check ********************************************************/
 
 		// If reply or forum are spam, officially spam this reply
-		if ( $forum_data['post_status'] === bbp_get_spam_status_id() ) {
+		if ( bbp_get_spam_status_id() === $forum_data['post_status'] ) {
 			add_post_meta( $forum_id, '_bbp_spam_meta_status', bbp_get_public_status_id() );
 
 			// Force view=all
diff --git src/includes/forums/template.php src/includes/forums/template.php
index a9eefdca..20316b92 100644
--- src/includes/forums/template.php
+++ src/includes/forums/template.php
@@ -293,7 +293,7 @@ function bbp_get_forum( $forum, $output = OBJECT, $filter = 'raw' ) {
 	}
 
 	// Bail if not correct post type
-	if ( $forum->post_type !== bbp_get_forum_post_type() ) {
+	if (  bbp_get_forum_post_type() !== $forum->post_type ) {
 		return null;
 	}
 
@@ -301,11 +301,11 @@ function bbp_get_forum( $forum, $output = OBJECT, $filter = 'raw' ) {
 	$retval = $forum;
 
 	// Array A
-	if ( $output === ARRAY_A ) {
+	if ( ARRAY_A === $output ) {
 		$retval = get_object_vars( $forum );
 
 	// Array N
-	} elseif ( $output === ARRAY_N ) {
+	} elseif ( ARRAY_N === $output ) {
 		$retval = array_values( get_object_vars( $forum ) );
 	}
 
@@ -1599,7 +1599,7 @@ function bbp_is_forum_status( $forum_id, $status_name, $check_ancestors = true,
 				}
 
 				// Break when it reach the max count
-				if ( ( $operator === 'OR' ) && ( $count >= 1 ) ) {
+				if ( ( 'OR' === $operator ) && ( $count >= 1 ) ) {
 					break;
 				}
 			}
@@ -1736,7 +1736,7 @@ function bbp_is_forum_visibility( $forum_id, $status_name, $check_ancestors = tr
 				}
 
 				// Break when it reach the max count
-				if ( ( $operator === 'OR' ) && ( $count >= 1 ) ) {
+				if ( ( 'OR' === $operator ) && ( $count >= 1 ) ) {
 					break;
 				}
 			}
diff --git src/includes/replies/functions.php src/includes/replies/functions.php
index 220d6380..55180be5 100644
--- src/includes/replies/functions.php
+++ src/includes/replies/functions.php
@@ -412,7 +412,7 @@ function bbp_new_reply_handler( $action = '' ) {
 
 		// If this reply starts as trash, add it to pre_trashed_replies
 		// for the topic, so it is properly restored.
-		if ( bbp_is_topic_trash( $topic_id ) || ( $reply_data['post_status'] === bbp_get_trash_status_id() ) ) {
+		if ( bbp_is_topic_trash( $topic_id ) || ( bbp_get_trash_status_id() === $reply_data['post_status'] ) ) {
 
 			// Trash the reply
 			wp_trash_post( $reply_id );
@@ -438,7 +438,7 @@ function bbp_new_reply_handler( $action = '' ) {
 		/** Spam Check ********************************************************/
 
 		// If reply or topic are spam, officially spam this reply
-		} elseif ( bbp_is_topic_spam( $topic_id ) || ( $reply_data['post_status'] === bbp_get_spam_status_id() ) ) {
+		} elseif ( bbp_is_topic_spam( $topic_id ) || ( bbp_get_spam_status_id() === $reply_data['post_status'] ) ) {
 			add_post_meta( $reply_id, '_bbp_spam_meta_status', bbp_get_public_status_id() );
 
 			// Only add to pre-spammed array if topic is spam
@@ -579,7 +579,7 @@ function bbp_edit_reply_handler( $action = '' ) {
 	$forum_id = bbp_get_topic_forum_id( $topic_id );
 
 	// Forum exists
-	if ( ! empty( $forum_id ) && ( $forum_id !== bbp_get_reply_forum_id( $reply_id ) ) ) {
+	if ( ! empty( $forum_id ) && ( bbp_get_reply_forum_id( $reply_id ) !== $forum_id ) ) {
 
 		// Forum is a category
 		if ( bbp_is_forum_category( $forum_id ) ) {
diff --git src/includes/replies/template.php src/includes/replies/template.php
index 0d12854d..f95dd95b 100644
--- src/includes/replies/template.php
+++ src/includes/replies/template.php
@@ -366,7 +366,7 @@ function bbp_get_reply( $reply, $output = OBJECT, $filter = 'raw' ) {
 	}
 
 	// Bail if not correct post type
-	if ( $reply->post_type !== bbp_get_reply_post_type() ) {
+	if ( bbp_get_reply_post_type() !== $reply->post_type  ) {
 		return null;
 	}
 
@@ -374,11 +374,11 @@ function bbp_get_reply( $reply, $output = OBJECT, $filter = 'raw' ) {
 	$retval = $reply;
 
 	// Array A
-	if ( $output === ARRAY_A ) {
+	if ( ARRAY_A === $output ) {
 		$retval = get_object_vars( $reply );
 
 	// Array N
-	} elseif ( $output === ARRAY_N ) {
+	} elseif ( ARRAY_N === $output ) {
 		$retval = array_values( get_object_vars( $reply ) );
 	}
 
diff --git src/includes/topics/functions.php src/includes/topics/functions.php
index 823b6acf..0e241bb8 100644
--- src/includes/topics/functions.php
+++ src/includes/topics/functions.php
@@ -342,7 +342,7 @@ function bbp_new_topic_handler( $action = '' ) {
 		/** Close Check *******************************************************/
 
 		// If the topic is closed, close it properly
-		if ( ( get_post_field( 'post_status', $topic_id ) === bbp_get_closed_status_id() ) || ( $topic_data['post_status'] === bbp_get_closed_status_id() ) ) {
+		if ( ( get_post_field( 'post_status', $topic_id ) === bbp_get_closed_status_id() ) || bbp_get_closed_status_id() === ( $topic_data['post_status'] ) ) {
 
 			// Close the topic
 			bbp_close_topic( $topic_id );
@@ -352,7 +352,7 @@ function bbp_new_topic_handler( $action = '' ) {
 
 		// If the forum is trash, or the topic_status is switched to
 		// trash, trash the topic properly
-		if ( ( get_post_field( 'post_status', $forum_id ) === bbp_get_trash_status_id() ) || ( $topic_data['post_status'] === bbp_get_trash_status_id() ) ) {
+		if ( ( get_post_field( 'post_status', $forum_id ) === bbp_get_trash_status_id() ) || bbp_get_trash_status_id() === ( $topic_data['post_status'] ) ) {
 
 			// Trash the topic
 			wp_trash_post( $topic_id );
@@ -364,7 +364,7 @@ function bbp_new_topic_handler( $action = '' ) {
 		/** Spam Check ********************************************************/
 
 		// If the topic is spam, officially spam this topic
-		if ( $topic_data['post_status'] === bbp_get_spam_status_id() ) {
+		if ( bbp_get_spam_status_id() === $topic_data['post_status'] ) {
 			add_post_meta( $topic_id, '_bbp_spam_meta_status', bbp_get_public_status_id() );
 
 			// Force view=all
diff --git src/includes/topics/template.php src/includes/topics/template.php
index 19db3504..c4edafb6 100644
--- src/includes/topics/template.php
+++ src/includes/topics/template.php
@@ -522,7 +522,7 @@ function bbp_get_topic( $topic, $output = OBJECT, $filter = 'raw' ) {
 	}
 
 	// Bail if not correct post type
-	if ( $topic->post_type !== bbp_get_topic_post_type() ) {
+	if ( bbp_get_topic_post_type() !== $topic->post_type ) {
 		return null;
 	}
 
@@ -530,11 +530,11 @@ function bbp_get_topic( $topic, $output = OBJECT, $filter = 'raw' ) {
 	$retval = $topic;
 
 	// Array A
-	if ( $output === ARRAY_A ) {
+	if ( ARRAY_A === $output ) {
 		$retval = get_object_vars( $topic );
 
 	// Array N
-	} elseif ( $output === ARRAY_N ) {
+	} elseif ( ARRAY_N === $output ) {
 		$retval = array_values( get_object_vars( $topic ) );
 	}
 
diff --git src/includes/users/template.php src/includes/users/template.php
index 965c4318..65b1e8a1 100644
--- src/includes/users/template.php
+++ src/includes/users/template.php
@@ -100,7 +100,7 @@ class BBP_User_Query extends WP_User_Query {
 		$this->in_the_loop = true;
 
 		// loop has just started
-		if ( $this->current_user === -1 ) {
+		if ( -1 === $this->current_user ) {
 
 			/**
 			 * Fires once the loop is started.
