co-opreviews
  • 0
Новичок

Ошибка пользовательского интерфейса таксономии

  • 0

Привет, я управляю сайтом, который активно использует пользовательскую таксономию под названием «Игры» и использует метаданные для этих терминов с помощью плагина Simple Term Meta. Используя в значительной степени копию кода с wordheavy.com, он работает нормально, за исключением двух вещей: он выдает ошибку на странице таксономии «Игра» (предупреждение: отсутствует аргумент 2 для game_form_fields() в опущенном /functions.php в строке 32 ) и когда вы добавляете «игру», форма не очищается.

Вы можете найти копию моего кода здесь.

Я не совсем понимаю, с чего начать (кроме строки 32!), поэтому любое направление будет оценено.

Share
  1. Проблема на первый взгляд здесь..

    add_action('game_edit_form_fields', 'game_form_fields');
    add_action('game_add_form_fields', 'game_form_fields');
    function game_form_fields($tag,$taxonomy) {
    

    Ваша функция ожидает, что из хука будут переданы 2 vars, но ваши add_action вызовы по умолчанию равны 1..

    Например, это..

    add_action('game_edit_form_fields', 'game_form_fields');
    

    Равно этому..

    add_action('game_edit_form_fields', 'game_form_fields', 10, 1 );
    

    Четвертый параметр устанавливает, сколько аргументов может принимать ваша функция обратного вызова, и значение по умолчанию равно 1, так что это все, что ваша функция когда-либо получает. Обновление этих add_action вызовов до следующего должно исправить это.

    add_action('game_edit_form_fields', 'game_form_fields', 10, 2 );
    

    Надеюсь, это поможет..

    Продолжение №1

    Возможно, хук не передает вторую переменную вместо предыдущего изменения, попробуйте обновить строку функции, чтобы она читалась.

    function game_form_fields( $tag ) {
    

    Возможно это исправит..

    • 0

Оставить ответ

You must login to add an answer.