Авторизоваться

WordPress: использование wp_set_object_terms (создание связи между объектами и таксономиями)

Автор:нео Ян Время:2021/08/22 Читать: 10448
wp_set_object_terms( int $object_id, str […]

wp_set_object_terms( интервал $object_id, строка|целое|массив $термины, нить таксономия $, логическое значение $append = ложь)

1. Параметры

$object_id

Идентификатор объекта, например идентификатор сообщения.

$условия

Основная проблема кроется здесь.

Если тип данных является строкой, строка будет использоваться в качестве пула. Если термин пула существует, будет создана связь между объектом и термином. Если он не существует, термин пула будет сначала создается, а затем будут созданы объект и термин.

Если тип данных является целым числом, это значение будет использоваться в качестве идентификатора термина. Если термин с этим идентификатором существует, этот термин будет связан.

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

$таксономия

Пуля таксономии, строка.

$append

Если оно ложно, связь между исходным объектом и термином будет перезаписана и обновлена. Если это правда, создается новая связь, то есть между объектом и той же таксономией добавляется новая терминальная связь.

2. Код

foreach ($custom_terms as $key => $value) { if (is_array($value)) { foreach ($value as $k => $v) { wp_set_object_terms($postid,(int)$v,$key,true); //Та же таксономия ($key) , используйте true для создания отношений между всеми терминами и объектами в массиве. } }else{ wp_set_object_terms($postid,(int)$value,$key); //Все данные, передаваемые из интерфейса, представляют собой строки. Чтобы гарантировать, что $value является целым числом, используется (int). } } 

3. Возврат

(массив|WP_Error) Идентификаторы таксономии терминов затронутых терминов или WP_Error при неудаче.

4. Резюме

Параметры многих функций WordPress, например параметры wp_set_object_terms, могут использовать строки, числа или даже массивы. Однако, по моему собственному опыту, в принципе, если вы можете использовать цифровые идентификаторы, старайтесь использовать цифровые идентификаторы, а если можете обойтись без массивов, не используйте массивы. Таким образом, некоторые проблемы часто уменьшаются.

теги:


авторские права © www.lyustu.com, все права защищены.
Тема: TheMoon V3.0 Автор: neo yang