Ordnen Sie allen Einträgen, die der Unterkategorie bereits zugewiesen sind, die übergeordnete Kategorie zu

Alle Beiträge meiner Website sind Unterkategorien zugeordnet, aber nicht auch ihren übergeordneten Kategorien:

Bildbeschreibung hier eingeben

Könnte ich Posts auch massiv ihren übergeordneten Kategorien zuordnen?

Bildbeschreibung hier eingeben

Meine Website hat mehr als 3k Einträge, also muss ich einen schnellen Weg finden, dies zu tun. Ich habe kein Plugin gefunden, das mir helfen könnte. Irgendwelche Vorschläge bitte?

Solutions Collecting From Web of "Ordnen Sie allen Einträgen, die der Unterkategorie bereits zugewiesen sind, die übergeordnete Kategorie zu"

Sei vorsichtig und führe es nur einmal aus

$_query = new WP_Query( array( 'post_type' => 'post', 'posts_per_page' => -1, ) ); function complete_parent_category( $term_id, $dep=array() ) { $category = get_term( $term_id, 'category' ); $dep[ $category->term_id ] = $category->slug; if( $category->parent ) { $dep = complete_parent_category( $category->parent, $dep ); } return $dep; } echo '
'; while( $_query->have_posts() ) { $_query->next_post(); echo '
'.$_query->post->post_title .' |>> '; $cat_post = array(); $cats = get_the_category( $_query->post->ID ); if( count( $cats ) ) { foreach ($cats as $cat) { $cat_post[ $cat->term_id ] = $cat->slug; if( $cat->parent == 0 ) continue; $category_object = get_term( $cat, 'category' ); $cat_post = complete_parent_category( $cat->parent, $cat_post ); } } if( count( $cats ) == count( $cat_post ) ) return; $data = array( 'ID' => $_query->post->ID, 'post_category' => array_keys($cat_post), ); wp_update_post( $data ); } wp_reset_postdata(); exit();