';)' => 'icon_wink.gif',
is in line 2477 in the current version, you should never just change or delete core files, unless you know how to run a private branch of WordPress.
Line 2925 is the second trigger_error()
in this function:
function _deprecated_argument( $function, $version, $message = null ) {
do_action( 'deprecated_argument_run', $function, $message, $version );
// Allow plugin to filter the output error trigger
if ( WP_DEBUG && apply_filters( 'deprecated_argument_trigger_error', true ) ) {
if ( ! is_null( $message ) )
trigger_error( sprintf( __('%1$s was called with an argument that is <strong>deprecated</strong> since version %2$s! %3$s'), $function, $version, $message ) );
else
trigger_error( sprintf( __('%1$s was called with an argument that is <strong>deprecated</strong> since version %2$s with no alternative available.'), $function, $version ) );
}
}
That’s just the place where the notice is, not the place of your error.
Let’s look at load_plugin_textdomain()
; here is the real problem:
/**
* Loads the plugin's translated strings.
*
* If the path is not given then it will be the root of the plugin directory.
* The .mo file should be named based on the domain with a dash, and then the locale exactly.
*
* @since 1.5.0
*
* @param string $domain Unique identifier for retrieving translated strings
* @param string $abs_rel_path Optional. Relative path to ABSPATH of a folder,
* where the .mo file resides. Deprecated, but still functional until 2.7
* @param string $plugin_rel_path Optional. Relative path to WP_PLUGIN_DIR. This is the preferred argument to use. It takes precedence over $abs_rel_path
*/
function load_plugin_textdomain( $domain, $abs_rel_path = false, $plugin_rel_path = false ) {
$locale = apply_filters( 'plugin_locale', get_locale(), $domain );
if ( false !== $plugin_rel_path ) {
$path = WP_PLUGIN_DIR . "https://wordpress.stackexchange.com/" . trim( $plugin_rel_path, "https://wordpress.stackexchange.com/" );
} else if ( false !== $abs_rel_path ) {
_deprecated_argument( __FUNCTION__, '2.7' );
$path = ABSPATH . trim( $abs_rel_path, "https://wordpress.stackexchange.com/" );
} else {
$path = WP_PLUGIN_DIR;
}
$mofile = $path . "https://wordpress.stackexchange.com/". $domain . '-' . $locale . '.mo';
return load_textdomain( $domain, $mofile );
}
The error message you get can be translated as:
A plugin is using
load_plugin_textdomain()
and it passes notfalse
as a second argument to that function.
The plugin is five years behind the current standard.
Solution
- Disable all plugins.
- Re-enable each plugin separately, until the error comes back. That’s broken plugin.
- Update your question, or write an answer, and name that plugin, so other readers can learn something.
- Write a short message to the plugin author, if she is still around, so it can be fixed.