*/
/**
- * {@internal Missing Short Description}}
+ * Returns whether the server is running Apache with the mod_rewrite module loaded.
*
* @since 2.0.0
*
- * @return unknown
+ * @return bool
*/
function got_mod_rewrite() {
$got_rewrite = apache_mod_loaded('mod_rewrite', true);
+
+ /**
+ * Filter whether Apache and mod_rewrite are present.
+ *
+ * This filter was previously used to force URL rewriting for other servers,
+ * like nginx. Use the got_url_rewrite filter in got_url_rewrite() instead.
+ *
+ * @see got_url_rewrite()
+ *
+ * @since 2.5.0
+ * @param bool $got_rewrite Whether Apache and mod_rewrite are present.
+ */
return apply_filters('got_rewrite', $got_rewrite);
}
+/**
+ * Returns whether the server supports URL rewriting.
+ *
+ * Detects Apache's mod_rewrite, IIS 7.0+ permalink support, and nginx.
+ *
+ * @since 3.7.0
+ *
+ * @return bool Whether the server supports URL rewriting.
+ */
+function got_url_rewrite() {
+ $got_url_rewrite = ( got_mod_rewrite() || $GLOBALS['is_nginx'] || iis7_supports_permalinks() );
+
+ /**
+ * Filter whether URL rewriting is available.
+ *
+ * @since 3.7.0
+ * @param bool $got_url_rewrite Whether URL rewriting is available.
+ */
+ return apply_filters( 'got_url_rewrite', $got_url_rewrite );
+}
+
/**
* {@internal Missing Short Description}}
*
*/
function show_message($message) {
if ( is_wp_error($message) ){
- if ( $message->get_error_data() )
+ if ( $message->get_error_data() && is_string( $message->get_error_data() ) )
$message = $message->get_error_message() . ': ' . $message->get_error_data();
else
$message = $message->get_error_message();