Advertisement
arie_cristianD

auto add jnews primaryu category to all posts (per 1000 post)

Nov 27th, 2024 (edited)
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.94 KB | None | 0 0
  1. add_action(
  2.     'admin_init',
  3.     function () {
  4.         if ( 'jnews' === $_GET['page'] && 'documentation' === $_GET['path'] ) {
  5.             $args = array(
  6.                 'post_type'      => 'post',
  7.                 'posts_per_page' => 1000,
  8.                 'offset'         => 0, /* change offset every time until get all of your post */
  9.             );
  10.  
  11.             $query = new WP_Query( $args );
  12.  
  13.             if ( $query->have_posts() ) {
  14.                 while ( $query->have_posts() ) {
  15.                     $query->the_post();
  16.                     $post_id  = get_the_ID();
  17.                     $category = jnews_get_metabox_value( 'jnews_primary_category.id', null, $post_id );
  18.                     if ( empty( $category ) ) {
  19.                         $categories = array_slice( get_the_category( $post_id ), 0, 1 );
  20.                         if ( ! empty( $categories ) ) {
  21.                             $category    = array_shift( $categories );
  22.                             $category_id = $category->term_id;
  23.                             update_post_meta( $post_id, 'jnews_primary_category', array( 'id' => (int) $category_id ) );
  24.                         }
  25.                     }
  26.                 }
  27.                 wp_reset_postdata();
  28.             }
  29.         }
  30.     }
  31. );
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement