Программное создание отношения Pods приводит к ошибке в расширенных настраиваемых полях.

Я пытаюсь создать отношения стручков, используя следующий код:

$data = array(
    "pod_id" => esc_attr(strip_tags($_POST['customMetaAutorID'])),
    "field_id" => 1073,
    "item_id" => $post_id,
    "related_item_id" => $_POST["customMetaAutorID"],
    "related_pod_id" => 0,
    "related_field_id" => 0,
    "weight" => 0
 );
 $wpdb->insert("wp_podsrel", $data);

Строка добавляется в таблицу, однако после нескольких обновлений страницы я начинаю получать сообщение об ошибке:

Strict Standards: Declaration of acf_taxonomy_field_walker::start_el() should be compatible with Walker::start_el(&$output, $object, $depth = 0, $args = Array, $current_object_id = 0)

Это означает, что все, что у меня есть, это белый экран смерти, и единственное, что я могу сделать, это восстановить базу данных.

Как добавить значение поля отношения pods и не сломать все остальное?


person danielrvt    schedule 03.01.2014    source источник


Ответы (1)


Сам нашел ответ.

Оказывается, у каждого элемента модуля есть функция add_to, которая добавляет значения в связанные поля с учетом имени поля (гораздо удобнее, чем жестко кодировать идентификатор поля).

В итоге я использовал следующий код:

$postPod->add_to("field_name", $related_element_id);
person danielrvt    schedule 03.01.2014
comment
Правильно, для этой цели у нас есть add_to, remove_from и save(). Что касается исходной ошибки, которую вы получили, это вообще не проблема с модулями, это проблема с классом обходчика полей таксономии ACF и PHP 5.4+, сообщите об этом Эллиоту, и я уверен, что он исправит это для вас. . - person Scott Kingsley Clark; 05.01.2014
comment
Эллиот — разработчик ACF. - person Scott Kingsley Clark; 15.01.2014