Jake Vanderwerf
2026-02-07 8b82035f3f8be1462a7125ad7eafb990ca17fa94
inc/managers/queue/executors/ContentExecutor.php
@@ -76,9 +76,11 @@
      $results = [];
      $errors = [];
      $success = [];
      $timelineParents = [];
      $timelineStatus = [];
      $timelineSharedFields = [];
      $newPostsMap = [];
      foreach ($posts as $id => $postData) {
         try {
@@ -94,16 +96,14 @@
               ]);
               if (!$newId || is_wp_error($newId)) {
                  $errors[$id] = 'Could not create post';
                  $progress->failItem($id, 'Could not create post');
                  continue;
               }
               $newPostsMap[$id] = $newId;
               $this->savePostFields($newId, $postData);
               $results[$id] = [
                  'success' => true,
                  'new_id' => $newId,
                  'processed_fields' => array_keys($postData)
               ];
               $success[$newId] = array_keys($postData);
               $progress->advance();
               continue;
            }
@@ -117,7 +117,6 @@
            $this->savePostFields((int)$id, $postData);
            if (Features::forContent($content)->has('is_timeline')) {
               $post = get_post((int)$id);
               $parentId = $post->post_parent > 0 ? $post->post_parent : $post->ID;
@@ -142,19 +141,12 @@
                  }
               }
            }
            $results[$id] = [
               'success' => true,
               'processed_fields' => array_keys($postData)
            ];
            $progress->advance();
            $success[$id] = array_keys($postData);
            $progress->advance();
         } catch (Exception $e) {
            $progress->failItem($id, $e->getMessage());
            $errors[$id] = $e->getMessage();
            $results[$id] = [
               'success' => false,
               'error' => $e->getMessage()
            ];
         }
      }
@@ -188,15 +180,13 @@
         $outcome = count($errors) === count($posts) ? 'failed' : 'partial';
      }
      return new Result(
         outcome: $outcome,
         result: [
            'posts' => $results,
            'posts'  => $success,
            'errors' => $errors,
            'updated_count' => count(array_filter($results, fn($r) => $r['success'] ?? false)),
            'new_posts' => $newPostsMap,
            'updated_count' => count($success),
            'failed_count' => count($errors)
         ]
      );
@@ -215,9 +205,9 @@
         return true;
      }
      $meta = Meta::forPost($postId);
      $meta->setAll($allowedFields);
      return true;
      return Meta::forPost($postId)
         ->setAll($allowedFields)
         ->save();
   }
   // ─────────────────────────────────────────────────────────────
@@ -318,7 +308,7 @@
      foreach ($posts as $index => $post) {
         $meta = Meta::forPost($post->ID);
         if ($index === 0) {
            $meta->set('timeline', '', false);
            $meta->set('timeline', '');
            $previousPost = $post;
            continue; // Parent has no timeline
         }
@@ -329,7 +319,7 @@
            if ($timeline) {
               $termId = $this->getOrCreateTerm($timeline, 'timeline');
               if ($termId) {
                  $success = $meta->set('timeline', $termId, false);
                  $success = $meta->set('timeline', $termId);
               }
            }
         }
@@ -337,7 +327,7 @@
         if ($lastKey === $index) {
            $latestTimestamp = strtotime($post->post_date);
         }
         $meta->save();
         $previousPost = $post;
      }