2017-10-14 8 views
0

사용자 설정 게시물 유형이 article 인 멀티 사이트 설정이 사용자 정의 필드에 의해 네트워크의 다른 게시물과 관련되어 있습니다. alphanumeric_id이 키는 각 블로그마다 고유하며 관련 게시물이 생성됩니다 프로그래밍 내가 보관할 무엇 add_action('wp_insert_post', 'bZive_create_TranslatedContent', 15, 3);휴지통이 멀티 사이트의 맞춤 입력란 값으로 게시

function bZive_trash_TranslatedContent($post_id){ 


     // Get the current blog id 
     $original_site_id = get_current_blog_id(); 
     $postTypes   = array('profile', 'article'); 
     $postType   = get_post_type(get_the_ID()); 
     $randomString  = get_post_meta(get_the_ID(), 'alphanumeric_id', true); 

     $args = array(
      'public'  => true, 
      'limit'  => 500 
     ); 

     $sites = wp_get_sites($args); 
     $tests = array(); 

     foreach ($sites as $site) { 
      switch_to_blog($site['blog_id']); 

      if(get_current_blog_id() != $original_site_id and get_current_blog_id() != 1){ 




       $args = array(
        'post_type' => 'article', 
        'post_status' => array(
          'publish', 'draft', 'pending','auto-draft', 'future', 'private' 
         ), 
        'meta_query' => array(
         array(
          'key'  => 'alphanumeric_id', 
          'value' => $randomString , 
          'compare' => '=', 
         ), 
        ), 
       ); 

       $posts = new WP_Query($args); 

       if($posts->have_posts()) { 
        while($posts->have_posts()) { 
        $posts->the_post(); 


         // Move the post to trash 
         wp_trash_post(get_the_ID()); 


        } 
       } 
       wp_reset_postdata(); 


      } 

      restore_current_blog(); 
     } 



} 
add_action('trash_post','bZive_trash_TranslatedContent',10,3); 

에 :을 내가 휴지통으로 하나 개의 게시물을 이동하는 경우 - 모든 관련 게시물이 너무 휴지통으로 이동해야합니다. 하지만 어떻게 든 게시물이 삭제되지 않습니다. WP_Query를 테스트 한 결과 올바른 게시물을 얻었지만 여전히 삭제되지는 않습니다.

답변

0

마지막으로 작업 중!

function bZive_trash_TranslatedContent($post_id){ 


    // Get the current blog id 
    $original_site_id = get_current_blog_id(); 
    $postTypes   = array('profile', 'article'); 
    $postType   = get_post_type(get_the_ID()); 
    $randomString  = get_post_meta(get_the_ID(), 'alphanumeric_id', true); 

    if (in_array($postType, $postTypes) and empty(get_post_meta($post_id, 'del_translatedContent', true))) { 

     add_post_meta($post_id, 'del_translatedContent', 'true'); 

     $args = array(
      'public'  => true, 
      'limit'  => 500 
     ); 

     $sites = wp_get_sites($args); 
     $tests = array(); 

     foreach ($sites as $site) { 
      switch_to_blog($site['blog_id']); 

      if(get_current_blog_id() != $original_site_id and get_current_blog_id() != 1){ 




       $args = array(
        'post_type' => 'article', 
        'post_status' => array(
          'publish', 'draft', 'pending','auto-draft', 'future', 'private' 
         ), 
        'meta_query' => array(
         array(
          'key'  => 'alphanumeric_id', 
          'value' => $randomString , 
          'compare' => '=', 
         ), 
        ), 
       ); 

       $posts = new WP_Query($args); 

       if($posts->have_posts()) { 
        while($posts->have_posts()) { 
        $posts->the_post(); 


         // Move the post to trash 
         wp_trash_post(get_the_ID()); 
         add_post_meta(get_the_ID(), 'del_translatedContent', 'true'); 

        } 
       } 
       wp_reset_postdata(); 


      } 

      restore_current_blog(); 
     } 



    } 


} 
add_action('wp_trash_post','bZive_trash_TranslatedContent',1,3);