it-swarm.com.ru

Предупреждение/Уведомление о functions.php

У меня возникли проблемы с отображением уведомлений в верхней части главной страницы в виде:

Примечание: load_plugin_textdomain был вызван с аргументом, который устарел с версии 2.7, альтернативы не имеется. в .../wordpress/wp-includes/functions.php в строке 2925

Код этой строки - это что-то вроде $wpsmiliestrans:

';)' => 'icon_wink.gif',

Если я удалю этот код, он покажет проблему в строке 2924, которая является другим кодом о смайликах, и существует множество таких кодов. Как я могу избавиться от этого?
Я обновил программное обеспечение до последней версии.

3
Ada

';)' => 'icon_wink.gif', находится в строке 2477 в текущей версии, вы никогда не должны просто изменять или удалять основные файлы, если вы не знаете, как запустить частную ветку WordPress.

Строка 2925 является второй trigger_error() в этой функции:

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 ) );
    }
}

Это место, где находится уведомление, а не место вашей ошибки.

Давайте посмотрим на load_plugin_textdomain(); вот настоящая проблема:

/**
 * 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 . '/' . trim( $plugin_rel_path, '/' );
    } else if ( false !== $abs_rel_path ) {
        _deprecated_argument( __FUNCTION__, '2.7' );
        $path = ABSPATH . trim( $abs_rel_path, '/' );
    } else {
        $path = WP_PLUGIN_DIR;
    }

    $mofile = $path . '/'. $domain . '-' . $locale . '.mo';
    return load_textdomain( $domain, $mofile );
}

Полученное сообщение об ошибке можно перевести как:

Плагин использует load_plugin_textdomain() и передает не falseв качестве второго аргумента этой функции.

Плагин на пять лет отстает от текущего стандарта.

Решение

  1. Отключить все плагины.
  2. Повторно включите каждый плагин отдельно, пока ошибка не вернется. Это сломанный плагин.
  3. Обновите свой вопрос или напишите ответ и назовите этот плагин, чтобы другие читатели могли что-то узнать.
  4. Напишите короткое сообщение автору плагина, если он все еще рядом, так что это можно исправить.
7
fuxia