PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.6.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.6.0
4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Sync / Jobs / Cleanup / ProductsCleanupJob.php
surecart / app / src / Sync / Jobs / Cleanup Last commit date
CollectionsCleanupJob.php 1 year ago ProductsCleanupJob.php 1 year ago
ProductsCleanupJob.php
78 lines
1 <?php
2
3 namespace SureCart\Sync\Jobs\Cleanup;
4
5 use SureCart\Background\Job;
6
7 /**
8 * This process fetches and queues all products for syncing.
9 */
10 class ProductsCleanupJob extends Job {
11 /**
12 * The prefix for the action.
13 *
14 * @var string
15 */
16 protected $prefix = 'surecart';
17
18 /**
19 * The action.
20 *
21 * @var string
22 */
23 protected $action = 'cleanup_products';
24
25 /**
26 * Perform task with queued item.
27 *
28 * Override this method to perform any actions required on each
29 * queue item. Return the modified item for further processing
30 * in the next pass through. Or, return false to remove the
31 * item from the queue.
32 *
33 * @param mixed $args Queue item to iterate over.
34 *
35 * @return mixed
36 */
37 protected function task( $args ) {
38 $query = new \WP_Query(
39 [
40 'post_type' => 'sc_product',
41 'post_status' => [ 'publish', 'pending', 'draft', 'future', 'private', 'inherit', 'trash', 'auto-draft', 'sc_archived' ],
42 'posts_per_page' => absint( $args['batch_size'] ?? 25 ),
43 'paged' => absint( $args['page'] ?? 1 ),
44 'suppress_filters' => true, // important to bypass store filter.
45 'fields' => 'ids',
46 'tax_query' => [
47 [
48 'taxonomy' => 'sc_account',
49 'field' => 'name',
50 'terms' => [ \SureCart::account()->id ],
51 'operator' => 'NOT IN',
52 ],
53 ],
54 ]
55 );
56
57 if ( is_wp_error( $query ) ) {
58 error_log( $query->get_error_message() );
59 return false;
60 }
61
62 // add each item to the queue.
63 foreach ( $query->posts as $product_id ) {
64 $this->task->queue( $product_id );
65 }
66
67 if ( $query->max_num_pages > $query->query_vars['paged'] ) {
68 return [
69 'page' => $query->query_vars['paged'] + 1,
70 'batch_size' => $args['batch_size'] ?? 25,
71 ];
72 }
73
74 // nothing more to process.
75 return false;
76 }
77 }
78