_wp_check_split_terms_in_menus()
Checks menu items when a term gets split to see if any of them need to be updated.
Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
_wp_check_split_terms_in_menus( $term_id, $new_term_id, $term_taxonomy_id, $taxonomy );
- $term_id(int) (обязательный)
- ID of the formerly shared term.
- $new_term_id(int) (обязательный)
- ID of the new term created for the $term_taxonomy_id.
- $term_taxonomy_id(int) (обязательный)
- ID for the term_taxonomy row affected by the split.
- $taxonomy(строка) (обязательный)
- Taxonomy for the split term.
Заметки
- Global. wpdb. $wpdb WordPress database abstraction object.
Список изменений
С версии 4.2.0 | Введена. |
Код _wp_check_split_terms_in_menus() wp check split terms in menus WP 6.7.1
function _wp_check_split_terms_in_menus( $term_id, $new_term_id, $term_taxonomy_id, $taxonomy ) { global $wpdb; $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT m1.post_id FROM {$wpdb->postmeta} AS m1 INNER JOIN {$wpdb->postmeta} AS m2 ON ( m2.post_id = m1.post_id ) INNER JOIN {$wpdb->postmeta} AS m3 ON ( m3.post_id = m1.post_id ) WHERE ( m1.meta_key = '_menu_item_type' AND m1.meta_value = 'taxonomy' ) AND ( m2.meta_key = '_menu_item_object' AND m2.meta_value = %s ) AND ( m3.meta_key = '_menu_item_object_id' AND m3.meta_value = %d )", $taxonomy, $term_id ) ); if ( $post_ids ) { foreach ( $post_ids as $post_id ) { update_post_meta( $post_id, '_menu_item_object_id', $new_term_id, $term_id ); } } }