PluginProbe
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment / 2.1.0
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment v2.1.0
3.1.13 3.1.12 3.1.11 3.1.10 3.1.9 3.1.8 3.1.7 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 All 122 releases
← All changes | Inc/Core/FB/Boxes.php +20 -42 1.0.42.1.0 View file →
@@ -1,12 +1,12 @@
1 1 <?php
2 2 /**
3 3 * @package FireBox
4 - * @version 1.0.4 Free
4 + * @version 2.1.0 Free
5 5 *
6 6 * @author FirePlugins <[email protected]>
7 7 * @link https://www.fireplugins.com
8 - * @copyright Copyright © 2021 FirePlugins All Rights Reserved
8 + * @copyright Copyright © 2023 FirePlugins All Rights Reserved
9 9 * @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
10 10 */
11 11
12 12 namespace FireBox\Core\FB;
@@ -21,31 +21,8 @@
21 21
22 22 class Boxes
23 23 {
24 24 /**
25 - * A box instance
26 - *
27 - * @var Box
28 - */
29 - protected $box;
30 -
31 - /**
32 - * Factory
33 - *
34 - * @var Factory
35 - */
36 - protected $factory;
37 -
38 - public function __construct($box = null, $factory = null)
39 - {
40 - if (!$factory)
41 - {
42 - $factory = new \FPFramework\Base\Factory();
43 - }
44 - $this->factory = $factory;
45 - }
46 -
47 - /**
48 25 * Render boxes
49 26 *
50 27 * @return string
51 28 */
@@ -50,19 +27,14 @@
50 27 * @return string
51 28 */
52 29 public function render()
53 30 {
54 - if (!$boxes_query = BoxHelper::getAllBoxesWPQuery())
31 + if (!$boxes = BoxHelper::getAllBoxes())
55 32 {
56 33 return;
57 34 }
58 35
59 - if (!method_exists($boxes_query, 'have_posts') || (method_exists($boxes_query, 'have_posts') && !$boxes_query->have_posts()))
60 - {
61 - return;
62 - }
63 -
64 - return $this->renderAll($boxes_query);
36 + return $this->renderAll($boxes);
65 37 }
66 38
67 39 /**
68 40 * Renders all boxes
@@ -74,23 +46,29 @@
74 46 public function renderAll($boxes)
75 47 {
76 48 $html = '';
77 49
78 - // handle WP_Query boxes loop
79 - if (isset($boxes->posts))
50 + if ($boxes instanceof \WP_Query)
80 51 {
81 - foreach ($boxes->posts as $box)
52 + if (!$boxes->have_posts())
82 53 {
54 + return;
55 + }
56 +
57 + while ($boxes->have_posts())
58 + {
83 59 $boxes->the_post();
84 60
85 - $this->prepare($box);
61 + global $post;
86 62
87 - $html .= $this->get_output($box);
63 + $this->prepare($post);
64 +
65 + $html .= $this->get_output($post);
88 66 }
89 - wp_reset_query();
67 +
68 + wp_reset_postdata();
90 69 }
91 - else
92 - // handle boxes array
70 + else if (is_array($boxes))
93 71 {
94 72 foreach ($boxes as $box)
95 73 {
96 74 $this->prepare($box);
@@ -97,9 +75,9 @@
97 75
98 76 $html .= $this->get_output($box);
99 77 }
100 78 }
101 -
79 +
102 80 return $html;
103 81 }
104 82
105 83 /**
@@ -134,7 +112,7 @@
134 112 {
135 113 return '';
136 114 }
137 115
138 - return firebox()->box->render($box);
116 + return firebox()->box->setBox($box)->render();
139 117 }
140 118 }