taxonomy order
-
function update_menu_order() { global $wpdb; parse_str($_POST['order'], $data); if ( is_array($data) ) { // ページに含まれる記事のIDをすべて取得 $id_post = array(); $id_tag = array(); foreach( $data as $key => $values ) { if($key == 'tag'){ foreach( $values as $position => $id ) { $id_tag[] = $id; } }else{ foreach( $values as $position => $id ) { $id_post[] = $id; } } } // ページに含まれる記事の menu_order をすべて取得 if(!empty($id_post)){ $menu_order_arr = array(); foreach( $id_post as $key => $id ) { $results = $wpdb->get_results( "SELECT menu_order FROM $wpdb->posts WHERE ID = ".$id ); foreach( $results as $result ) { $menu_order_arr[] = $result->menu_order; } } // menu_order 配列をソート(キーと値の相関関係は維持しない) sort($menu_order_arr); foreach( $data as $key => $values ) { foreach( $values as $position => $id ) { $wpdb->update( $wpdb->posts, array( 'menu_order' => $menu_order_arr[$position] ), array( 'ID' => $id ) ); } } }else{ $menu_order_arr = array(); foreach( $id_tag as $key => $id ) { $results = $wpdb->get_results( "SELECT term_order FROM $wpdb->terms WHERE term_id = ".$id ); foreach( $results as $result ) { $menu_order_arr[] = $result->term_order; } } // menu_order 配列をソート(キーと値の相関関係は維持しない) sort($menu_order_arr); foreach( $data as $key => $values ) { foreach( $values as $position => $id ) { $wpdb->update( $wpdb->terms, array( 'term_order' => $menu_order_arr[$position] ), array( 'term_id' => $id ) ); } } } } }[Moderator Note: Please post code & markup between backticks or use the code button. Your posted code may now have been permanently damaged by the forum’s parser.]
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
The topic ‘taxonomy order’ is closed to new replies.