WP Responsive Recent Post Slider - Version 2.7.1

Version Description

(31, May 2021) = * [] Tested up to: 5.7.2 * [] Added - https link in our analytics code to avoid browser security warning.

Download this release

Release Info

Developer wponlinesupport
Plugin Icon 128x128 WP Responsive Recent Post Slider
Version 2.7.1
Comparing to
See all releases

Code changes from version 2.4 to 2.7.1

Files changed (40) hide show
  1. assets/css/blocks.editor.build.css +1 -1
  2. assets/css/recent-post-style.css +36 -59
  3. assets/css/wppsac-admin-style.css +3 -0
  4. assets/js/blocks.build.js +1 -1
  5. assets/js/elementor/wppsac-elementor.js +85 -0
  6. assets/js/wppsac-admin.js +23 -0
  7. assets/js/wppsac-public.js +254 -59
  8. includes/admin/class-wprps-admin.php +19 -13
  9. includes/admin/settings/hire-us.php +0 -91
  10. includes/admin/settings/premium.php +36 -10
  11. includes/admin/wprps-how-it-work.php +163 -250
  12. includes/class-wppsac-script.php +82 -9
  13. includes/shortcodes/wppsac-carousel.php +82 -56
  14. includes/shortcodes/wppsac-slider.php +77 -54
  15. includes/wppsac-function.php +26 -18
  16. languages/wp-responsive-recent-post-slider.pot +553 -152
  17. readme.txt +28 -4
  18. templates/carousel/design-1.php +7 -7
  19. templates/slider/design-1.php +6 -7
  20. templates/slider/design-2.php +6 -7
  21. templates/slider/design-3.php +6 -5
  22. templates/slider/design-4.php +8 -8
  23. wp-recent-post-slider.php +20 -13
  24. wpos-analytics/templates/analytic.php +1 -1
  25. wpos-analytics/templates/optout-popup.php +1 -1
  26. wpos-plugins/assets/css/admin-style.css +22 -0
  27. wpos-plugins/assets/images/cart-2.png +0 -0
  28. wpos-plugins/assets/images/essential-plugin-16.png +0 -0
  29. wpos-plugins/assets/images/essential-plugin-50.png +0 -0
  30. wpos-plugins/assets/images/inbound50-by-50.png +0 -0
  31. wpos-plugins/assets/images/sliderspack.png +0 -0
  32. wpos-plugins/assets/images/utility-icon.png +0 -0
  33. wpos-plugins/assets/images/wponlinesupport-logo.png +0 -0
  34. wpos-plugins/assets/js/admin-script.js +76 -0
  35. wpos-plugins/includes/admin/class-espbw-admin.php +51 -0
  36. wpos-plugins/includes/admin/views/dashboard.php +326 -0
  37. wpos-plugins/includes/class-espbw-script.php +57 -0
  38. wpos-plugins/includes/espbw-functions.php +258 -0
  39. wpos-plugins/plugins-data.json +1 -0
  40. wpos-plugins/wpos-recommendation.php +187 -0
assets/css/blocks.editor.build.css CHANGED
@@ -1 +1 @@
1
- .wpos-guten-shrt{border:1px solid #ccc;padding:8px;line-height:22px;background-color:#eee;font-size:13px;text-align:center;color:#32373c;font-family:arial, sans-serif}.wpos-guten-shrt-title span{border-bottom:2px solid #32373c;margin-bottom:10px;display:inline-block;font-size:16px;font-weight:600}.wpos-guten-shrt .wpos-guten-shrt-footer{margin:10px 0 0 0}.wpos-guten-shrt .wpos-guten-shrt-footer span{display:block;border-top:2px solid #ccc;width:50px;margin:5px auto}.components-disabled{opacity:0.5}.components-disabled .wpos-hidden-opts-desc a{pointer-events:auto}
1
+ .wpos-guten-shrt{border:1px solid #ccc;padding:8px;line-height:22px;background-color:#eee;font-size:13px;text-align:center;color:#32373c;font-family:arial, sans-serif}.wpos-guten-shrt-title span{border-bottom:2px solid #32373c;margin-bottom:10px;display:inline-block;font-size:16px;font-weight:600}.wpos-guten-shrt .wpos-guten-shrt-footer{margin:10px 0 0 0}.wpos-guten-shrt .wpos-guten-shrt-footer span{display:block;border-top:2px solid #ccc;width:50px;margin:5px auto}.components-disabled{opacity:0.5}.components-disabled .wpos-hidden-opts-desc a{pointer-events:auto}
assets/css/recent-post-style.css CHANGED
@@ -11,48 +11,11 @@
11
  .wppsac-clearfix::after{clear: both;}
12
  .wppsac-clearfix{clear: both;}
13
 
14
- /************************************************************
15
- Slick slider
16
- ************************************************************/
17
- .wppsac-post-slider{visibility: hidden; opacity:0; transition:opacity 0.5s linear;}
18
- .wppsac-post-slider.slick-initialized { visibility: visible; opacity:1;}
19
- .wppsac-hide{display:none;}
20
- .wppsac-post-slider .slick-arrow, .wppsac-post-carousel .slick-arrow{text-indent:-99999px;}
21
- .wppsac-post-slider button.slick-arrow, .wppsac-post-carousel button.slick-arrow {background-color: transparent!important; cursor:pointer; width:30px; height:45px; position:absolute; z-index:9; border:0px !important;padding:0 !important; margin:0px !important; border-radius:0px !important; -webkit-transition-duration: 0.4s; transition-duration: 0.4s;}
22
- .wppsac-post-slider button.slick-next, .wppsac-post-carousel button.slick-next {background:rgba(0,0,0,0.5) url(arrow-right.png) center center no-repeat !important; background-size:25px 25px !important; outline:none !important; box-shadow: none;}
23
- .wppsac-post-slider button.slick-prev, .wppsac-post-carousel button.slick-prev{background:rgba(0,0,0,0.5) url(arrow-left.png) center center no-repeat !important; background-size:25px 25px !important; outline:none !important; box-shadow: none;}
24
- .wppsac-post-slider button.slick-next:hover, .wppsac-post-slider button.slick-next:focus, .wppsac-post-carousel button.slick-next:hover, .wppsac-post-carousel button.slick-next:focus,
25
- .wppsac-post-slider button.slick-prev:hover, .wppsac-post-slider button.slick-prev:focus, .wppsac-post-carousel button.slick-prev:hover, .wppsac-post-carousel button.slick-prev:focus{background-color:rgba(0,0,0,0.8) !important;}
26
-
27
- .wppsac-post-slider .slick-dots{padding:0 !important; margin:0 !important; position:absolute; text-align:center;}
28
- .wppsac-post-slider .slick-dots li button{text-indent:-99999px;}
29
- .wppsac-post-slider .slick-dots li {list-style:none !important; display:inline-block !important; margin:0 2px !important; padding:0px !important;}
30
- .wppsac-post-slider .slick-dots li button{background:#fff !important; margin:0px !important; padding:0px !important; border:1px solid #000; border-radius:50% !important; width:13px !important; height:13px !important;}
31
- .wppsac-post-slider .slick-dots li button:focus{outline:none !important}
32
- .wppsac-post-slider button:active{box-shadow: none;}
33
- .wppsac-post-slider .slick-dots li.slick-active button{background:#444 !important;}
34
- .wppsac-post-slider .slick-slide{padding:0px !important}
35
- .wppsac-post-overlay{ position:relative;}
36
- .wppsac-post-slider .wppsac-post-content a.wppsac-readmorebtn {padding: 5px 10px;border: 1px solid #e7e7e7;text-decoration: none;margin: 5px 0; font-size:14px; -moz-transition:all 0.5s ease-out 0s;-ms-transition:all 0.5s ease-out 0s;-o-transition:all 0.5s ease-out 0s; transition: all 0.5s ease-out 0s; }
37
- .wppsac-post-content {padding-bottom: 10px;}
38
- .wppsac-sub-content {padding-bottom: 10px;}
39
- .wppsac-post-slider h2.wppsac-post-title{margin:5px 0 !important; line-height:26px;}
40
- .wppsac-post-slider h2.wppsac-post-title a{font-size:22px; line-height:26px;}
41
- .wppsac-post-slider .wppsac-post-date{margin-bottom:10px; position:relative; font-size:13px;}
42
- .wppsac-post-slider .wppsac-post-date::after { background: #e96656; bottom: -4px;content: "";height: 2px; left: 0; margin: auto ; position: absolute; width: 50px; z-index: 1;}
43
- .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list{margin:0px 0px 10px 0 !important; padding:0px !important; list-style:none !important; font-size: 0;}
44
- .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li{display:inline-block !important; margin: 2px !important; padding: 0 !important;}
45
- .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li a{padding:4px 10px; text-transform:uppercase; font-size:11px; text-decoration:none; color: #fff; display: block; line-height: normal;}
46
- .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+1) a{background:#1abc9c;}
47
- .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+2) a{background:#3498db;}
48
- .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+3) a{background:#e74c3c;}
49
- .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+4) a{background:#34495e;}
50
-
51
- .wppsac-post-slider .wppsac-post-image-bg img{height: 100%;width: 100%;object-fit: cover;object-position: top center;border-radius: 0px;}
52
 
53
  /***************Design-1**************/
54
  .wppsac-post-slider a{text-decoration:none !important;}
55
-
56
  .wppsac-post-slider.design-1 .wppsac-post-content-position{position:relative}
57
  .wppsac-post-slider.design-1 .wppsac-post-content-left{position:absolute !important; left:0; bottom: 0px; background:rgba(0, 0, 0, 0.5); z-index:999; color:#fff;}
58
  .wppsac-post-slider.design-1 .wppsac-post-content-left a {color:#fff;}
@@ -113,30 +76,44 @@
113
  .wppsac-post-slider.design-4 .wppsac-post-content a.wppsac-readmorebtn {color: #444; border-color: #444;}
114
  .wppsac-post-slider.design-4 a.wppsac-readmorebtn:hover{color:#fff; background:rgba(0,0,0,0.5);}
115
 
 
116
  /************************************************************
117
- Slick carousel
118
  ************************************************************/
119
- .wppsac-post-carousel{visibility: hidden; opacity:0; transition:opacity 0.5s linear;}
120
- .wppsac-post-carousel.slick-initialized { visibility: visible; opacity:1;}
121
  .wppsac-hide{display:none;}
122
  .wppsac-post-carousel .slick-dots{padding:0 !important; margin:0 !important; position:absolute; text-align:center;}
123
- .wppsac-post-carousel .slick-dots li button{text-indent:-99999px;}
124
- .wppsac-post-carousel .slick-dots li {list-style:none !important; display:inline-block !important; margin:0 2px !important; padding:0px !important;}
125
- .wppsac-post-carousel .slick-dots li button{background:#fff !important; margin:0px !important; padding:0px !important; border:1px solid #000; border-radius:50% !important; width:13px !important; height:13px !important;}
126
- .wppsac-post-carousel .slick-dots li button:focus{outline:none !important}
127
- .wppsac-post-carousel button:active{box-shadow: none;}
128
- .wppsac-post-carousel .slick-dots li.slick-active button{background:#444 !important;}
129
- .wppsac-post-carousel .wppsac-post-content a.wppsac-readmorebtn {padding: 5px 10px;border: 1px solid #e7e7e7;text-decoration: none;margin: 5px 0; font-size:14px; -moz-transition:all 0.5s ease-out 0s;-ms-transition:all 0.5s ease-out 0s;-o-transition:all 0.5s ease-out 0s; transition: all 0.5s ease-out 0s; }
130
- .wppsac-post-carousel h2.wppsac-post-title{margin:5px 0 !important; line-height:26px;}
131
- .wppsac-post-carousel h2.wppsac-post-title a{font-size:22px; line-height:26px;}
132
- .wppsac-post-carousel .wppsac-post-date{margin-bottom:10px; position:relative; font-size:13px;}
133
- .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list{margin:0px 0px 10px 0 !important; padding:0px !important; list-style:none !important; font-size: 0;}
134
- .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li{display:inline-block !important; margin: 2px !important; padding: 0 !important;}
135
- .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li a{padding:4px 10px; text-transform:uppercase; font-size:11px; text-decoration:none; color: #fff; display: block; line-height: normal;}
136
- .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+1) a{background:#1abc9c;}
137
- .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+2) a{background:#3498db;}
138
- .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+3) a{background:#e74c3c;}
139
- .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+4) a{background:#34495e;}
 
 
 
 
 
 
 
 
 
 
 
 
 
140
 
141
  /***************Design-1**************/
142
  .wppsac-post-carousel a{text-decoration:none !important;}
11
  .wppsac-clearfix::after{clear: both;}
12
  .wppsac-clearfix{clear: both;}
13
 
14
+ /* Avada CSS */
15
+ .fusion-flex-container.wppsac-fusion-flex{ flex-direction: column; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
  /***************Design-1**************/
18
  .wppsac-post-slider a{text-decoration:none !important;}
 
19
  .wppsac-post-slider.design-1 .wppsac-post-content-position{position:relative}
20
  .wppsac-post-slider.design-1 .wppsac-post-content-left{position:absolute !important; left:0; bottom: 0px; background:rgba(0, 0, 0, 0.5); z-index:999; color:#fff;}
21
  .wppsac-post-slider.design-1 .wppsac-post-content-left a {color:#fff;}
76
  .wppsac-post-slider.design-4 .wppsac-post-content a.wppsac-readmorebtn {color: #444; border-color: #444;}
77
  .wppsac-post-slider.design-4 a.wppsac-readmorebtn:hover{color:#fff; background:rgba(0,0,0,0.5);}
78
 
79
+
80
  /************************************************************
81
+ Slick Slider and Carousel
82
  ************************************************************/
83
+ .wppsac-post-slider, .wppsac-post-carousel{visibility: hidden; opacity:0; transition:opacity 0.5s linear;}
84
+ .wppsac-post-slider.slick-initialized, .wppsac-post-carousel.slick-initialized { visibility: visible; opacity:1;}
85
  .wppsac-hide{display:none;}
86
  .wppsac-post-carousel .slick-dots{padding:0 !important; margin:0 !important; position:absolute; text-align:center;}
87
+ .wppsac-post-slider .slick-arrow, .wppsac-post-carousel .slick-arrow{text-indent:-99999px;}
88
+ .wppsac-post-slider button.slick-arrow, .wppsac-post-carousel button.slick-arrow {background-color: transparent!important; cursor:pointer; width:30px; height:45px; position:absolute; z-index:9; border:0px !important;padding:0 !important; margin:0px !important; border-radius:0px !important; -webkit-transition-duration: 0.4s; transition-duration: 0.4s;}
89
+ .wppsac-post-slider button.slick-next, .wppsac-post-carousel button.slick-next {background:rgba(0,0,0,0.5) url(arrow-right.png) center center no-repeat !important; background-size:25px 25px !important; outline:none !important; box-shadow: none;}
90
+ .wppsac-post-slider button.slick-prev, .wppsac-post-carousel button.slick-prev{background:rgba(0,0,0,0.5) url(arrow-left.png) center center no-repeat !important; background-size:25px 25px !important; outline:none !important; box-shadow: none;}
91
+ .wppsac-post-slider button.slick-next:hover, .wppsac-post-slider button.slick-next:focus, .wppsac-post-carousel button.slick-next:hover, .wppsac-post-carousel button.slick-next:focus,
92
+ .wppsac-post-slider button.slick-prev:hover, .wppsac-post-slider button.slick-prev:focus, .wppsac-post-carousel button.slick-prev:hover, .wppsac-post-carousel button.slick-prev:focus{background-color:rgba(0,0,0,0.8) !important;}
93
+ .wppsac-post-slider .slick-dots{padding:0 !important; margin:0 !important; position:absolute; text-align:center;}
94
+ .wppsac-post-slider .slick-dots li button, .wppsac-post-carousel .slick-dots li button{text-indent:-99999px;}
95
+ .wppsac-post-slider .slick-dots li, .wppsac-post-carousel .slick-dots li {list-style:none !important; display:inline-block !important; margin:0 2px !important; padding:0px !important;}
96
+ .wppsac-post-slider .slick-dots li button, .wppsac-post-carousel .slick-dots li button{background:#fff !important; margin:0px !important; padding:0px !important; border:1px solid #000; border-radius:50% !important; width:13px !important; height:13px !important;}
97
+ .wppsac-post-slider .slick-dots li button:focus, .wppsac-post-carousel .slick-dots li button:focus{outline:none !important}
98
+ .wppsac-post-slider button:active, .wppsac-post-carousel button:active{box-shadow: none;}
99
+ .wppsac-post-slider .slick-dots li.slick-active button, .wppsac-post-carousel .slick-dots li.slick-active button{background:#444 !important;}
100
+ .wppsac-post-slider .slick-slide{padding:0px !important}
101
+ .wppsac-post-overlay{ position:relative;}
102
+ .wppsac-post-slider .wppsac-post-content a.wppsac-readmorebtn, .wppsac-post-carousel .wppsac-post-content a.wppsac-readmorebtn {padding: 5px 10px;border: 1px solid #e7e7e7;text-decoration: none;margin: 5px 0; font-size:14px; -moz-transition:all 0.5s ease-out 0s;-ms-transition:all 0.5s ease-out 0s;-o-transition:all 0.5s ease-out 0s; transition: all 0.5s ease-out 0s; }
103
+ .wppsac-post-content {padding-bottom: 10px;}
104
+ .wppsac-sub-content {padding-bottom: 10px;}
105
+ .wppsac-post-slider h2.wppsac-post-title, .wppsac-post-carousel h2.wppsac-post-title{margin:5px 0 !important; line-height:26px;}
106
+ .wppsac-post-slider h2.wppsac-post-title a, .wppsac-post-carousel h2.wppsac-post-title a{font-size:22px; line-height:26px;}
107
+ .wppsac-post-slider .wppsac-post-date, .wppsac-post-carousel .wppsac-post-date{margin-bottom:10px; position:relative; font-size:13px;}
108
+ .wppsac-post-slider .wppsac-post-date::after { background: #e96656; bottom: -4px;content: "";height: 2px; left: 0; margin: auto ; position: absolute; width: 50px; z-index: 1;}
109
+ .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list, .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list{margin:0px 0px 10px 0 !important; padding:0px !important; list-style:none !important; font-size: 0;}
110
+ .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li, .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li{display:inline-block !important; margin: 2px !important; padding: 0 !important;}
111
+ .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li a, .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li a{padding:4px 10px; text-transform:uppercase; font-size:11px; text-decoration:none; color: #fff; display: block; line-height: normal;}
112
+ .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+1) a, .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+1) a{background:#1abc9c;}
113
+ .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+2) a, .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+2) a{background:#3498db;}
114
+ .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+3) a, .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+3) a{background:#e74c3c;}
115
+ .wppsac-post-slider .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+4) a, .wppsac-post-carousel .wppsac-post-categories ul.wppsac-post-categories-list li:nth-child(4n+4) a{background:#34495e;}
116
+ .wppsac-post-slider .wppsac-post-image-bg img{height: 100%;width: 100%;object-fit: cover;object-position: top center;border-radius: 0px;}
117
 
118
  /***************Design-1**************/
119
  .wppsac-post-carousel a{text-decoration:none !important;}
assets/css/wppsac-admin-style.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ /* Builder Shortcode Preview */
2
+ .wppsac-builder-shrt-prev{background-color: #e7e7e7; padding: 10px; border: 1px solid #ccc; font-size: 15px;text-align: center;}
3
+ .wppsac-builder-shrt-title span{border-bottom: 1px solid #999; display: inline-block; padding: 0 0 5px 0;}
assets/js/blocks.build.js CHANGED
@@ -1 +1 @@
1
- !function(e){function t(r){if(n[r])return n[r].exports;var s=n[r]={i:r,l:!1,exports:{}};return e[r].call(s.exports,s,s.exports,t),s.l=!0,s.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(1)},function(e,t,n){"use strict";var r=n(2),s=(n.n(r),n(3)),o=(n.n(s),n(4)),l=n(5),__=wp.i18n.__,p=wp.blocks.registerBlockType;p("wprps/recent-post-slider",{title:__("Recent Post Slider","wp-responsive-recent-post-slider"),description:__("Display recent post in a slider view with various layouts.","wp-responsive-recent-post-slider"),icon:"slides",category:"wpos_guten_block",keywords:[__("wpos"),__("recent post slider","wp-responsive-recent-post-slider"),__("recent-post-slider")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var t=e.align;if(["wide","full"].includes(t))return{"data-align":t,"data-block-type":"wprpsp-slider"}},edit:o.a,save:function(){return null}}),p("wprps/recent-post-carousel",{title:__("Recent Carousel Slider","wp-responsive-recent-post-slider"),description:__("Display recent post in a carousel slider view with various layouts.","wp-responsive-recent-post-slider"),icon:"slides",category:"wpos_guten_block",keywords:[__("wpos"),__("recent carousel slider","wp-responsive-recent-post-slider"),__("recent-post-carousel")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var t=e.align;if(["wide","full"].includes(t))return{"data-align":t,"data-block-type":"wprpsp-carousel"}},edit:l.a,save:function(){return null}})},function(e,t){},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),p=wp.element,i=p.Component,a=p.Fragment,c=wp.components,d=c.PanelBody,m=c.Disabled,w=c.TextControl,u=c.ToggleControl,v=c.RangeControl,h=c.SelectControl,__=wp.i18n.__,g=(wp.data.select,wp.editor),f=g.InspectorControls,E=g.BlockControls,y=g.BlockAlignmentToolbar,b=function(e){function t(){r(this,t);var e=s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isLoading:!1},e}return o(t,e),l(t,[{key:"ObjToString",value:function(e){var t=wp.blocks.getBlockAttributes("wprps/recent-post-slider"),n=["content_tail"],r="";for(var s in e)e.hasOwnProperty(s)&&"undefined"!==typeof e[s]&&e[s]!==t[s]&&(""!=jQuery.trim(e[s])||jQuery.inArray(s,n)>=0)&&(r+=s+'="'+e[s]+'" ');return r}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-responsive-recent-post-slider")},{value:"false",label:__("False","wp-responsive-recent-post-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-responsive-recent-post-slider")},{value:"design-2",label:__("Design 2","wp-responsive-recent-post-slider")},{value:"design-3",label:__("Design 3","wp-responsive-recent-post-slider")},{value:"design-4",label:__("Design 4","wp-responsive-recent-post-slider")}]}},{key:"GetLinkTargetDropdown",value:function(){return[{value:"self",label:__("Same Window","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-responsive-recent-post-slider")}]}},{key:"GetLazyloadDropdown",value:function(){return[{value:"",label:__("Select Lazyload","wp-responsive-recent-post-slider")},{value:"ondemand",label:__("Ondemand","wp-responsive-recent-post-slider")},{value:"progressive",label:__("Progressive","wp-responsive-recent-post-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){var t=this.props.attributes.content_words_limit,n=wp.data.select("core/editor").getEditorSettings(),r=n.alignWide;e.attributes;(parseInt(t)<=0||isNaN(parseInt(t)))&&this.props.setAttributes({content_words_limit:20}),r||this.props.setAttributes({align:void 0})}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=t.design,s=t.show_date,o=t.show_author,l=t.show_category_name,p=t.show_content,i=t.content_words_limit,c=t.show_read_more,g=t.dots,b=t.arrows,_=t.autoplay,k=t.autoplay_interval,C=t.speed,P=t.post_type,B=t.taxonomy,D=t.limit,N=t.category,S=t.posts,W=t.hide_post,O=t.media_size,G=t.lazyload,U=t.align,x=(t.className,this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(d,{title:__("General Parameters","wp-responsive-recent-post-slider")},wp.element.createElement(h,{label:__("Design","wp-responsive-recent-post-slider"),value:r,options:this.GetDesigns(),onChange:function(e){return n({design:e})}}),wp.element.createElement(u,{label:__("Show Date","wp-responsive-recent-post-slider"),checked:!!s,onChange:function(){return n({show_date:!s})}}),wp.element.createElement(u,{label:__("Show Author","wp-responsive-recent-post-slider"),checked:!!o,onChange:function(){return n({show_author:!o})}}),wp.element.createElement(u,{label:__("Show Category Name","wp-responsive-recent-post-slider"),checked:!!l,onChange:function(){return n({show_category_name:!l})}}),wp.element.createElement(u,{label:__("Show Content","wp-responsive-recent-post-slider"),checked:!!p,onChange:function(){return n({show_content:!p})}}),p&&wp.element.createElement(v,{label:__("Content Words limit","wp-responsive-recent-post-slider"),value:i,onChange:function(e){return n({content_words_limit:e})},min:1,help:__("Enter content word limit.","wp-responsive-recent-post-slider")}),p&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Content Tail","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Display dots after the post content as continue reading. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),p&&wp.element.createElement(h,{label:__("Read More","wp-responsive-recent-post-slider"),value:c,options:this.GetBooleanDropdown(),onChange:function(e){return n({show_read_more:e})}}),p&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Read More Text","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enter read more text. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Link Behaviour","wp-responsive-recent-post-slider"),options:this.GetLinkTargetDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Choose link target behaviour. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(w,{label:__("Media Size","wp-responsive-recent-post-slider"),value:O,onChange:function(e){return n({media_size:e})},help:__("Choose WordPress registered image size. e.g thumbnail, medium, large, full.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Image Height","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Control height of the featured image. You can enter any numeric number. e.g 500. Leave empty for default height. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Image Fit","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Fill the post image in a whole container. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))}))),wp.element.createElement(d,{title:__("Slider Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(h,{label:__("Dots","wp-responsive-recent-post-slider"),value:g,options:this.GetBooleanDropdown(),onChange:function(e){return n({dots:e})},help:__("Show pagination dots.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Arrows","wp-responsive-recent-post-slider"),value:b,options:this.GetBooleanDropdown(),onChange:function(e){return n({arrows:e})},help:__("Show prev - next arrows.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Autoplay","wp-responsive-recent-post-slider"),value:_,options:this.GetBooleanDropdown(),onChange:function(e){return n({autoplay:e})}}),"true"==_&&wp.element.createElement(v,{label:__("Autoplay Interval","wp-responsive-recent-post-slider"),value:k,onChange:function(e){return n({autoplay_interval:e})},min:1,help:__("Enter autoplay interval speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Speed","wp-responsive-recent-post-slider"),value:C,onChange:function(e){return n({speed:e})},min:1,help:__("Enter slide speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Fade","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enable fade effect. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Loop","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enable infinite loop for continuous sliding. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Hover","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Pause slider autoplay on hover. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Focus","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Pause slider autoplay when slider element is focused. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Nav Slides","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enter number of slider navigation column. Note: This parameter default work with design-17, design-18, design-19, design-20. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(h,{label:__("Slider Lazyload","wp-responsive-recent-post-slider"),value:G,options:this.GetLazyloadDropdown(),onChange:function(e){return n({lazyload:e})},help:__("Select option to use lazy loading in slider.","wp-responsive-recent-post-slider")})),wp.element.createElement(d,{title:__("Query Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(w,{label:__("Post Type","wp-responsive-recent-post-slider"),value:P,onChange:function(e){return n({post_type:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid post type name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered post type name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Taxonomy","wp-responsive-recent-post-slider"),value:B,onChange:function(e){return n({taxonomy:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid taxonomy name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered taxonomy name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(v,{label:__("Limit","wp-responsive-recent-post-slider"),value:D,onChange:function(e){return n({limit:e})},min:-1,help:__("Enter number of post to be displayed. Enter -1 to display all.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order By","wp-responsive-recent-post-slider"),options:this.GetPostOrderby(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Choose option to set order of post by date, title, name etc.. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order","wp-responsive-recent-post-slider"),options:this.GetPostOrder(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Choose option to set post in acesding and descending order. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(w,{label:__("Display Specific Category","wp-responsive-recent-post-slider"),value:N,onChange:function(e){return n({category:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant category listing page.","wp-responsive-recent-post-slider")},__("Enter category id to display categories wise.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Child Category","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("If you are using parent category then whether to display child category or not. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Category","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Exclude post category. Works only if `Category` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant category listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(w,{label:__("Display Specific Posts","wp-responsive-recent-post-slider"),value:S,onChange:function(e){return n({posts:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Exclude Post","wp-responsive-recent-post-slider"),value:W,onChange:function(e){return n({hide_post:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you do not want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Include Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enter author id to display posts of particular author. You can pass multiple ids with comma seperated. You can find id at users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enter author id to hide post of particular author. Works only if `Include Author` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Sticky Posts","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Display sticky posts or not. Note: sticky posts only be displayed at front side. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Query Offset","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Exclude number of posts from starting. e.g if you pass 5 then it will skip first five post. Note: This will not work with limit=-1. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})))));return wp.element.createElement(a,null,x,wp.element.createElement(E,null,wp.element.createElement(y,{value:U,onChange:function(e){return n({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,t=this.ObjToString(e);t=t.trim();var n=t?"[recent_post_slider "+t+"]":"[recent_post_slider]";return wp.element.createElement("div",{class:"wpos-guten-shrt"},wp.element.createElement("div",{class:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Responsive Recent Post Slider/Carousel - Slider","wp-responsive-recent-post-slider"))),n,wp.element.createElement("div",{class:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))),wp.element.createElement("div",{class:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))))}}]),t}(i);t.a=b},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),p=wp.element,i=p.Component,a=p.Fragment,c=wp.components,d=c.PanelBody,m=c.Disabled,w=c.TextControl,u=c.ToggleControl,v=c.RangeControl,h=c.SelectControl,__=wp.i18n.__,g=(wp.data.select,wp.editor),f=g.InspectorControls,E=g.BlockControls,y=g.BlockAlignmentToolbar,b=function(e){function t(){r(this,t);var e=s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isLoading:!1},e}return o(t,e),l(t,[{key:"ObjToString",value:function(e){var t=wp.blocks.getBlockAttributes("wprps/recent-post-carousel"),n=["content_tail"],r="";for(var s in e)e.hasOwnProperty(s)&&"undefined"!==typeof e[s]&&e[s]!==t[s]&&(""!=jQuery.trim(e[s])||jQuery.inArray(s,n)>=0)&&(r+=s+'="'+e[s]+'" ');return r}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-responsive-recent-post-slider")},{value:"false",label:__("False","wp-responsive-recent-post-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-responsive-recent-post-slider")}]}},{key:"GetLinkTargetDropdown",value:function(){return[{value:"self",label:__("Same Window","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-responsive-recent-post-slider")}]}},{key:"GetLazyloadDropdown",value:function(){return[{value:"",label:__("Select Lazyload","wp-responsive-recent-post-slider")},{value:"ondemand",label:__("Ondemand","wp-responsive-recent-post-slider")},{value:"progressive",label:__("Progressive","wp-responsive-recent-post-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){var t=this.props.attributes.content_words_limit,n=wp.data.select("core/editor").getEditorSettings(),r=n.alignWide;e.attributes;(parseInt(t)<=0||isNaN(parseInt(t)))&&this.props.setAttributes({content_words_limit:20}),r||this.props.setAttributes({align:void 0})}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,r=t.design,s=t.show_date,o=t.show_author,l=t.show_category_name,p=t.show_content,i=t.content_words_limit,c=t.show_read_more,g=t.slides_to_show,b=t.slides_to_scroll,_=t.dots,k=t.arrows,C=t.autoplay,P=t.autoplay_interval,B=t.speed,D=t.post_type,N=t.taxonomy,S=t.limit,W=t.category,O=t.posts,G=t.hide_post,U=t.media_size,x=t.lazyload,T=t.align,Y=(t.className,this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(d,{title:__("General Parameters","wp-responsive-recent-post-slider")},wp.element.createElement(h,{label:__("Design","wp-responsive-recent-post-slider"),value:r,options:this.GetDesigns(),onChange:function(e){return n({design:e})}}),wp.element.createElement(u,{label:__("Show Date","wp-responsive-recent-post-slider"),checked:!!s,onChange:function(){return n({show_date:!s})}}),wp.element.createElement(u,{label:__("Show Author","wp-responsive-recent-post-slider"),checked:!!o,onChange:function(){return n({show_author:!o})}}),wp.element.createElement(u,{label:__("Show Category Name","wp-responsive-recent-post-slider"),checked:!!l,onChange:function(){return n({show_category_name:!l})}}),wp.element.createElement(u,{label:__("Show Content","wp-responsive-recent-post-slider"),checked:!!p,onChange:function(){return n({show_content:!p})}}),p&&wp.element.createElement(v,{label:__("Content Words limit","wp-responsive-recent-post-slider"),value:i,onChange:function(e){return n({content_words_limit:e})},min:1,help:__("Enter content word limit.","wp-responsive-recent-post-slider")}),p&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Content Tail","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Display dots after the post content as continue reading. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),p&&wp.element.createElement(h,{label:__("Read More","wp-responsive-recent-post-slider"),value:c,options:this.GetBooleanDropdown(),onChange:function(e){return n({show_read_more:e})}}),p&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Read More Text","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enter read more text. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Link Behaviour","wp-responsive-recent-post-slider"),options:this.GetLinkTargetDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Choose link target behaviour. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(w,{label:__("Media Size","wp-responsive-recent-post-slider"),value:U,onChange:function(e){return n({media_size:e})},help:__("Choose WordPress registered image size. e.g thumbnail, medium, large, full.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Image Height","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Control height of the featured image. You can enter any numeric number. e.g 500. Leave empty for default height. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Image Fit","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Fill the post image in a whole container. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))}))),wp.element.createElement(d,{title:__("Slider Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(v,{label:__("Slide To Show","wp-responsive-recent-post-slider"),value:g,onChange:function(e){return n({slides_to_show:e})},min:1,help:__("Enter number for Slide to show at a time.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Slide To Scroll","wp-responsive-recent-post-slider"),value:b,onChange:function(e){return n({slides_to_scroll:e})},min:1,help:__("Enter number to scroll slider at a time.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Dots","wp-responsive-recent-post-slider"),value:_,options:this.GetBooleanDropdown(),onChange:function(e){return n({dots:e})},help:__("Show pagination dots.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Arrows","wp-responsive-recent-post-slider"),value:k,options:this.GetBooleanDropdown(),onChange:function(e){return n({arrows:e})},help:__("Show prev - next arrows.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Autoplay","wp-responsive-recent-post-slider"),value:C,options:this.GetBooleanDropdown(),onChange:function(e){return n({autoplay:e})}}),"true"==C&&wp.element.createElement(v,{label:__("Autoplay Interval","wp-responsive-recent-post-slider"),value:P,onChange:function(e){return n({autoplay_interval:e})},min:1,help:__("Enter autoplay interval speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Speed","wp-responsive-recent-post-slider"),value:B,onChange:function(e){return n({speed:e})},min:1,help:__("Enter slide speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Loop","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enable infinite loop for continuous sliding. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Centermode","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enable centered view with partial prev/next slides. Use with odd numbered `Slides to Scroll` and `Slider Column` counts. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Hover","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Pause slider autoplay on hover. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Focus","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Pause slider autoplay when slider element is focused. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(h,{label:__("Slider Lazyload","wp-responsive-recent-post-slider"),value:x,options:this.GetLazyloadDropdown(),onChange:function(e){return n({lazyload:e})},help:__("Select option to use lazy loading in slider.","wp-responsive-recent-post-slider")})),wp.element.createElement(d,{title:__("Query Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(w,{label:__("Post Type","wp-responsive-recent-post-slider"),value:D,onChange:function(e){return n({post_type:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid post type name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered post type name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Taxonomy","wp-responsive-recent-post-slider"),value:N,onChange:function(e){return n({taxonomy:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid taxonomy name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered taxonomy name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(v,{label:__("Limit","wp-responsive-recent-post-slider"),value:S,onChange:function(e){return n({limit:e})},min:-1,help:__("Enter number of post to be displayed. Enter -1 to display all.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order By","wp-responsive-recent-post-slider"),options:this.GetPostOrderby(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Choose option to set order of post by date, title, name etc.. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order","wp-responsive-recent-post-slider"),options:this.GetPostOrder(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Choose option to set post in acesding and descending order. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(w,{label:__("Display Specific Category","wp-responsive-recent-post-slider"),value:W,onChange:function(e){return n({category:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant category listing page.","wp-responsive-recent-post-slider")},__("Enter category id to display categories wise.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Child Category","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("If you are using parent category then whether to display child category or not. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Category","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Exclude post category. Works only if `Category` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant category listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(w,{label:__("Display Specific Posts","wp-responsive-recent-post-slider"),value:O,onChange:function(e){return n({posts:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Exclude Post","wp-responsive-recent-post-slider"),value:G,onChange:function(e){return n({hide_post:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you do not want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Include Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enter author id to display posts of particular author. You can pass multiple ids with comma seperated. You can find id at users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Enter author id to hide post of particular author. Works only if `Include Author` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Sticky Posts","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Display sticky posts or not. Note: sticky posts only be displayed at front side. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Query Offset","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("div",{className:"wpos-hidden-opts-desc"},wp.element.createElement("span",null,__("Exclude number of posts from starting. e.g if you pass 5 then it will skip first five post. Note: This will not work with limit=-1. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider")))})))));return wp.element.createElement(a,null,Y,wp.element.createElement(E,null,wp.element.createElement(y,{value:T,onChange:function(e){return n({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,t=this.ObjToString(e);t=t.trim();var n=t?"[recent_post_carousel "+t+"]":"[recent_post_carousel]";return wp.element.createElement("div",{class:"wpos-guten-shrt"},wp.element.createElement("div",{class:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Responsive Recent Post Slider/Carousel - Carousel Slider","wp-responsive-recent-post-slider"))),n,wp.element.createElement("div",{class:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))),wp.element.createElement("div",{class:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))))}}]),t}(i);t.a=b}]);
1
+ !function(e){function t(s){if(n[s])return n[s].exports;var r=n[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,s){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:s})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(1)},function(e,t,n){"use strict";var s=n(2),r=(n.n(s),n(3)),o=(n.n(r),n(4)),p=n(5),__=wp.i18n.__,l=wp.blocks.registerBlockType;l("wprps/recent-post-slider",{title:__("Recent Post Slider","wp-responsive-recent-post-slider"),description:__("Display recent post in a slider view with various layouts.","wp-responsive-recent-post-slider"),icon:"slides",category:"wpos_guten_block",keywords:[__("wpos"),__("recent post slider","wp-responsive-recent-post-slider"),__("recent-post-slider")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var t=e.align;if(["wide","full"].includes(t))return{"data-align":t,"data-block-type":"wprpsp-slider"}},edit:o.a,save:function(){return null}}),l("wprps/recent-post-carousel",{title:__("Recent Carousel Slider","wp-responsive-recent-post-slider"),description:__("Display recent post in a carousel slider view with various layouts.","wp-responsive-recent-post-slider"),icon:"slides",category:"wpos_guten_block",keywords:[__("wpos"),__("recent carousel slider","wp-responsive-recent-post-slider"),__("recent-post-carousel")],supports:{html:!1,multiple:!0},getEditWrapperProps:function(e){var t=e.align;if(["wide","full"].includes(t))return{"data-align":t,"data-block-type":"wprpsp-carousel"}},edit:p.a,save:function(){return null}})},function(e,t){},function(e,t){},function(e,t,n){"use strict";function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var p=function(){function e(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,n,s){return n&&e(t.prototype,n),s&&e(t,s),t}}(),l=wp.element,i=l.Component,a=l.Fragment,c=wp.components,d=c.PanelBody,m=c.Disabled,w=c.TextControl,u=c.ToggleControl,v=c.RangeControl,h=c.SelectControl,__=wp.i18n.__,g=(wp.data.select,wp.editor),f=g.InspectorControls,E=g.BlockControls,b=g.BlockAlignmentToolbar,y=function(e){function t(){s(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isLoading:!1},e}return o(t,e),p(t,[{key:"ObjToString",value:function(e){var t=wp.blocks.getBlockAttributes("wprps/recent-post-slider"),n=["content_tail"],s="";for(var r in e)e.hasOwnProperty(r)&&"undefined"!==typeof e[r]&&e[r]!==t[r]&&(""!=jQuery.trim(e[r])||jQuery.inArray(r,n)>=0)&&(s+=r+'="'+e[r]+'" ');return s}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-responsive-recent-post-slider")},{value:"false",label:__("False","wp-responsive-recent-post-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-responsive-recent-post-slider")},{value:"design-2",label:__("Design 2","wp-responsive-recent-post-slider")},{value:"design-3",label:__("Design 3","wp-responsive-recent-post-slider")},{value:"design-4",label:__("Design 4","wp-responsive-recent-post-slider")}]}},{key:"GetLinkTargetDropdown",value:function(){return[{value:"self",label:__("Same Window","wp-responsive-recent-post-slider")},{value:"blank",label:__("New Window","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-responsive-recent-post-slider")},{value:"modified",label:__("Post Modified Date","wp-responsive-recent-post-slider")},{value:"title",label:__("Post Title","wp-responsive-recent-post-slider")},{value:"name",label:__("Post Slug","wp-responsive-recent-post-slider")},{value:"ID",label:__("Post ID","wp-responsive-recent-post-slider")},{value:"rand",label:__("Random","wp-responsive-recent-post-slider")},{value:"menu_order",label:__("Menu Order (Sort Order)","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-responsive-recent-post-slider")},{value:"asc",label:__("Ascending","wp-responsive-recent-post-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){var t=wp.data.select("core/editor").getEditorSettings(),n=t.alignWide;e.attributes;n||this.props.setAttributes({align:void 0})}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,s=t.design,r=t.show_date,o=t.show_author,p=t.show_category_name,l=t.show_content,i=t.content_words_limit,c=t.show_read_more,g=t.dots,y=t.arrows,_=t.autoplay,k=t.autoplay_interval,P=t.speed,C=t.post_type,B=t.taxonomy,D=t.limit,N=t.category,W=t.posts,O=t.hide_post,S=t.media_size,x=t.align,G=(t.className,this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(d,{title:__("General Parameters","wp-responsive-recent-post-slider")},wp.element.createElement(h,{label:__("Design","wp-responsive-recent-post-slider"),value:s,options:this.GetDesigns(),onChange:function(e){return n({design:e})}}),wp.element.createElement(u,{label:__("Show Date","wp-responsive-recent-post-slider"),checked:!!r,onChange:function(){return n({show_date:!r})}}),wp.element.createElement(u,{label:__("Show Author","wp-responsive-recent-post-slider"),checked:!!o,onChange:function(){return n({show_author:!o})}}),wp.element.createElement(u,{label:__("Show Category Name","wp-responsive-recent-post-slider"),checked:!!p,onChange:function(){return n({show_category_name:!p})}}),wp.element.createElement(u,{label:__("Show Content","wp-responsive-recent-post-slider"),checked:!!l,onChange:function(){return n({show_content:!l})}}),l&&wp.element.createElement(v,{label:__("Content Words limit","wp-responsive-recent-post-slider"),value:i,onChange:function(e){return n({content_words_limit:e})},min:1,max:2500,help:__("Enter content word limit.","wp-responsive-recent-post-slider")}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Content Tail","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display dots after the post content as continue reading. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),l&&wp.element.createElement(h,{label:__("Read More","wp-responsive-recent-post-slider"),value:c,options:this.GetBooleanDropdown(),onChange:function(e){return n({show_read_more:e})}}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Read More Text","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter read more text. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Link Behaviour","wp-responsive-recent-post-slider"),onChange:function(e){return n({link_target:e})},help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose link target behaviour. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Media Size","wp-responsive-recent-post-slider"),value:S,onChange:function(e){return n({media_size:e})},help:__("Choose WordPress registered image size. e.g thumbnail, medium, large, full.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Image Height","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Control height of the featured image. You can enter any numeric number. e.g 500. Leave empty for default height. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Image Fit","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Fill the post image in a whole container. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Slider Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(h,{label:__("Dots","wp-responsive-recent-post-slider"),value:g,options:this.GetBooleanDropdown(),onChange:function(e){return n({dots:e})},help:__("Show pagination dots.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Arrows","wp-responsive-recent-post-slider"),value:y,options:this.GetBooleanDropdown(),onChange:function(e){return n({arrows:e})},help:__("Show prev - next arrows.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Autoplay","wp-responsive-recent-post-slider"),value:_,options:this.GetBooleanDropdown(),onChange:function(e){return n({autoplay:e})}}),"true"==_&&wp.element.createElement(v,{label:__("Autoplay Interval","wp-responsive-recent-post-slider"),value:k,onChange:function(e){return n({autoplay_interval:e})},min:1,max:5e4,help:__("Enter autoplay interval speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Speed","wp-responsive-recent-post-slider"),value:P,onChange:function(e){return n({speed:e})},min:1,max:5e4,help:__("Enter slide speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Fade","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable fade effect. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Loop","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable infinite loop for continuous sliding. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Hover","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay on hover. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Focus","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay when slider element is focused. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Nav Slides","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter number of slider navigation column. Note: This parameter default work with design-17, design-18, design-19, design-20. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Query Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(w,{label:__("Post Type","wp-responsive-recent-post-slider"),value:C,onChange:function(e){return n({post_type:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid post type name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered post type name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Taxonomy","wp-responsive-recent-post-slider"),value:B,onChange:function(e){return n({taxonomy:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid taxonomy name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered taxonomy name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(v,{label:__("Limit","wp-responsive-recent-post-slider"),value:D,onChange:function(e){return n({limit:e})},min:-1,max:1e3,help:__("Enter number of post to be displayed. Enter -1 to display all.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order By","wp-responsive-recent-post-slider"),options:this.GetPostOrderby(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set order of post by date, title, name etc.. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order","wp-responsive-recent-post-slider"),options:this.GetPostOrder(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set post in acesding and descending order. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Category","wp-responsive-recent-post-slider"),value:N,onChange:function(e){return n({category:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant category listing page.","wp-responsive-recent-post-slider")},__("Enter category id to display categories wise.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Child Category","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("If you are using parent category then whether to display child category or not. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Category","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude post category. Works only if `Category` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant category listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Posts","wp-responsive-recent-post-slider"),value:W,onChange:function(e){return n({posts:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Exclude Post","wp-responsive-recent-post-slider"),value:O,onChange:function(e){return n({hide_post:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you do not want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Include Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to display posts of particular author. You can pass multiple ids with comma seperated. You can find id at users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to hide post of particular author. Works only if `Include Author` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Sticky Posts","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display sticky posts or not. Note: sticky posts only be displayed at front side. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Query Offset","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude number of posts from starting. e.g if you pass 5 then it will skip first five post. Note: This will not work with limit=-1. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})))));return wp.element.createElement(a,null,G,wp.element.createElement(E,null,wp.element.createElement(b,{value:x,onChange:function(e){return n({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,t=this.ObjToString(e);t=t.trim();var n=t?"[recent_post_slider "+t+"]":"[recent_post_slider]";return wp.element.createElement("div",{className:"wpos-guten-shrt"},wp.element.createElement("div",{className:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Responsive Recent Post Slider/Carousel - Slider","wp-responsive-recent-post-slider"))),n,wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))),wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))))}}]),t}(i);t.a=y},function(e,t,n){"use strict";function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var p=function(){function e(e,t){for(var n=0;n<t.length;n++){var s=t[n];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,n,s){return n&&e(t.prototype,n),s&&e(t,s),t}}(),l=wp.element,i=l.Component,a=l.Fragment,c=wp.components,d=c.PanelBody,m=c.Disabled,w=c.TextControl,u=c.ToggleControl,v=c.RangeControl,h=c.SelectControl,__=wp.i18n.__,g=(wp.data.select,wp.editor),f=g.InspectorControls,E=g.BlockControls,b=g.BlockAlignmentToolbar,y=function(e){function t(){s(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isLoading:!1},e}return o(t,e),p(t,[{key:"ObjToString",value:function(e){var t=wp.blocks.getBlockAttributes("wprps/recent-post-carousel"),n=["content_tail"],s="";for(var r in e)e.hasOwnProperty(r)&&"undefined"!==typeof e[r]&&e[r]!==t[r]&&(""!=jQuery.trim(e[r])||jQuery.inArray(r,n)>=0)&&(s+=r+'="'+e[r]+'" ');return s}},{key:"GetBooleanDropdown",value:function(){return[{value:"true",label:__("True","wp-responsive-recent-post-slider")},{value:"false",label:__("False","wp-responsive-recent-post-slider")}]}},{key:"GetDesigns",value:function(){return[{value:"design-1",label:__("Design 1","wp-responsive-recent-post-slider")}]}},{key:"GetLinkTargetDropdown",value:function(){return[{value:"self",label:__("Same Window","wp-responsive-recent-post-slider")},{value:"blank",label:__("New Window","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrderby",value:function(){return[{value:"date",label:__("Post Date","wp-responsive-recent-post-slider")},{value:"modified",label:__("Post Modified Date","wp-responsive-recent-post-slider")},{value:"title",label:__("Post Title","wp-responsive-recent-post-slider")},{value:"name",label:__("Post Slug","wp-responsive-recent-post-slider")},{value:"ID",label:__("Post ID","wp-responsive-recent-post-slider")},{value:"rand",label:__("Random","wp-responsive-recent-post-slider")},{value:"menu_order",label:__("Menu Order (Sort Order)","wp-responsive-recent-post-slider")}]}},{key:"GetPostOrder",value:function(){return[{value:"desc",label:__("Descending","wp-responsive-recent-post-slider")},{value:"asc",label:__("Ascending","wp-responsive-recent-post-slider")}]}},{key:"componentDidMount",value:function(){}},{key:"componentDidUpdate",value:function(e){var t=wp.data.select("core/editor").getEditorSettings(),n=t.alignWide;e.attributes;n||this.props.setAttributes({align:void 0})}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.setAttributes,s=t.design,r=t.show_date,o=t.show_author,p=t.show_category_name,l=t.show_content,i=t.content_words_limit,c=t.show_read_more,g=t.slides_to_show,y=t.slides_to_scroll,_=t.dots,k=t.arrows,P=t.autoplay,C=t.autoplay_interval,B=t.speed,D=t.post_type,N=t.taxonomy,W=t.limit,O=t.category,S=t.posts,x=t.hide_post,G=t.media_size,U=t.align,T=(t.className,this.state.isLoading,wp.element.createElement(f,null,wp.element.createElement(d,{title:__("General Parameters","wp-responsive-recent-post-slider")},wp.element.createElement(h,{label:__("Design","wp-responsive-recent-post-slider"),value:s,options:this.GetDesigns(),onChange:function(e){return n({design:e})}}),wp.element.createElement(u,{label:__("Show Date","wp-responsive-recent-post-slider"),checked:!!r,onChange:function(){return n({show_date:!r})}}),wp.element.createElement(u,{label:__("Show Author","wp-responsive-recent-post-slider"),checked:!!o,onChange:function(){return n({show_author:!o})}}),wp.element.createElement(u,{label:__("Show Category Name","wp-responsive-recent-post-slider"),checked:!!p,onChange:function(){return n({show_category_name:!p})}}),wp.element.createElement(u,{label:__("Show Content","wp-responsive-recent-post-slider"),checked:!!l,onChange:function(){return n({show_content:!l})}}),l&&wp.element.createElement(v,{label:__("Content Words limit","wp-responsive-recent-post-slider"),value:i,onChange:function(e){return n({content_words_limit:e})},min:1,max:2500,help:__("Enter content word limit.","wp-responsive-recent-post-slider")}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Content Tail","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display dots after the post content as continue reading. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),l&&wp.element.createElement(h,{label:__("Read More","wp-responsive-recent-post-slider"),value:c,options:this.GetBooleanDropdown(),onChange:function(e){return n({show_read_more:e})}}),l&&wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Read More Text","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter read more text. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Link Behaviour","wp-responsive-recent-post-slider"),onChange:function(e){return n({link_target:e})},help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose link target behaviour. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Media Size","wp-responsive-recent-post-slider"),value:G,onChange:function(e){return n({media_size:e})},help:__("Choose WordPress registered image size. e.g thumbnail, medium, large, full.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Image Height","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Control height of the featured image. You can enter any numeric number. e.g 500. Leave empty for default height. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Image Fit","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Fill the post image in a whole container. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Slider Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(v,{label:__("Slide To Show","wp-responsive-recent-post-slider"),value:g,onChange:function(e){return n({slides_to_show:e})},min:1,max:100,help:__("Enter number for Slide to show at a time.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Slide To Scroll","wp-responsive-recent-post-slider"),value:y,onChange:function(e){return n({slides_to_scroll:e})},min:1,max:100,help:__("Enter number to scroll slider at a time.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Dots","wp-responsive-recent-post-slider"),value:_,options:this.GetBooleanDropdown(),onChange:function(e){return n({dots:e})},help:__("Show pagination dots.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Arrows","wp-responsive-recent-post-slider"),value:k,options:this.GetBooleanDropdown(),onChange:function(e){return n({arrows:e})},help:__("Show prev - next arrows.","wp-responsive-recent-post-slider")}),wp.element.createElement(h,{label:__("Autoplay","wp-responsive-recent-post-slider"),value:P,options:this.GetBooleanDropdown(),onChange:function(e){return n({autoplay:e})}}),"true"==P&&wp.element.createElement(v,{label:__("Autoplay Interval","wp-responsive-recent-post-slider"),value:C,onChange:function(e){return n({autoplay_interval:e})},min:1,max:5e4,help:__("Enter autoplay interval speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(v,{label:__("Speed","wp-responsive-recent-post-slider"),value:B,onChange:function(e){return n({speed:e})},min:1,max:5e4,help:__("Enter slide speed.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Loop","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable infinite loop for continuous sliding. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Centermode","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enable centered view with partial prev/next slides. Use with odd numbered `Slides to Scroll` and `Slider Column` counts. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Hover","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay on hover. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Pause On Focus","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Pause slider autoplay when slider element is focused. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))}))),wp.element.createElement(d,{title:__("Query Parameters","wp-responsive-recent-post-slider"),initialOpen:!1},wp.element.createElement(w,{label:__("Post Type","wp-responsive-recent-post-slider"),value:D,onChange:function(e){return n({post_type:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid post type name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered post type name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Taxonomy","wp-responsive-recent-post-slider"),value:N,onChange:function(e){return n({taxonomy:e})},help:wp.element.createElement("span",{title:__("Note: Be sure you have added valid taxonomy name otherwise no result will be displayed.","wp-responsive-recent-post-slider")},__("Enter registered taxonomy name. You can find it on plugin setting page.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(v,{label:__("Limit","wp-responsive-recent-post-slider"),value:W,onChange:function(e){return n({limit:e})},min:-1,max:1e3,help:__("Enter number of post to be displayed. Enter -1 to display all.","wp-responsive-recent-post-slider")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order By","wp-responsive-recent-post-slider"),options:this.GetPostOrderby(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set order of post by date, title, name etc.. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Order","wp-responsive-recent-post-slider"),options:this.GetPostOrder(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Choose option to set post in acesding and descending order. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Category","wp-responsive-recent-post-slider"),value:O,onChange:function(e){return n({category:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant category listing page.","wp-responsive-recent-post-slider")},__("Enter category id to display categories wise.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Child Category","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("If you are using parent category then whether to display child category or not. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Category","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude post category. Works only if `Category` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant category listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(w,{label:__("Display Specific Posts","wp-responsive-recent-post-slider"),value:S,onChange:function(e){return n({posts:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(w,{label:__("Exclude Post","wp-responsive-recent-post-slider"),value:x,onChange:function(e){return n({hide_post:e})},help:wp.element.createElement("span",{title:__("You can pass multiple ids with comma seperated. You can find id at relevant post listing page.","wp-responsive-recent-post-slider")},__("Enter id of the post which you do not want to display.","wp-responsive-recent-post-slider")," [?]")}),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Include Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to display posts of particular author. You can pass multiple ids with comma seperated. You can find id at users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(w,{label:__("Exclude Author","wp-responsive-recent-post-slider"),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Enter author id to hide post of particular author. Works only if `Include Author` field is empty. You can pass multiple ids with comma seperated. You can find id at relevant users listing page. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(h,{label:__("Display Sticky Posts","wp-responsive-recent-post-slider"),options:this.GetBooleanDropdown(),help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Display sticky posts or not. Note: sticky posts only be displayed at front side. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})),wp.element.createElement(m,null,wp.element.createElement(v,{label:__("Query Offset","wp-responsive-recent-post-slider"),min:0,help:wp.element.createElement("span",{className:"wpos-hidden-opts-desc"},__("Exclude number of posts from starting. e.g if you pass 5 then it will skip first five post. Note: This will not work with limit=-1. Upgarade to ","wp-responsive-recent-post-slider"),wp.element.createElement("a",{href:Wprpsf_Block.pro_link,target:"_blank"},__("Premium version ","wp-responsive-recent-post-slider")),__("to get this option.","wp-responsive-recent-post-slider"))})))));return wp.element.createElement(a,null,T,wp.element.createElement(E,null,wp.element.createElement(b,{value:U,onChange:function(e){return n({align:e})},controls:["wide","full"]})),wp.element.createElement("div",{className:this.props.className},this.renderOutput()))}},{key:"renderOutput",value:function(){var e=this.props.attributes,t=this.ObjToString(e);t=t.trim();var n=t?"[recent_post_carousel "+t+"]":"[recent_post_carousel]";return wp.element.createElement("div",{className:"wpos-guten-shrt"},wp.element.createElement("div",{className:"wpos-guten-shrt-title"},wp.element.createElement("span",null,__("WP Responsive Recent Post Slider/Carousel - Carousel Slider","wp-responsive-recent-post-slider"))),n,wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},wp.element.createElement("span",null),__("Do you want to check demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.free_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))),wp.element.createElement("div",{className:"wpos-guten-shrt-footer"},__("Do you also want to check premium version demo of this plugin.","wp-responsive-recent-post-slider")," ",wp.element.createElement("a",{href:Wprpsf_Block.pro_demo_link,target:"_blank"},__("Click here","wp-responsive-recent-post-slider"))))}}]),t}(i);t.a=y}]);
assets/js/elementor/wppsac-elementor.js ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function($) {
2
+
3
+ 'use strict';
4
+
5
+ jQuery(window).on('elementor/frontend/init', function() {
6
+
7
+ /* Shortcode Element */
8
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/shortcode.default', function() {
9
+ wppsac_post_slider_init();
10
+ wppsac_post_carousel_slider_init();
11
+ });
12
+
13
+ /* Text Editor Element */
14
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/text-editor.default', function() {
15
+ wppsac_post_slider_init();
16
+ wppsac_post_carousel_slider_init();
17
+ });
18
+
19
+ /* Tabs Element */
20
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/tabs.default', function() {
21
+
22
+ $('.wppsac-post-slider-init').each(function( index ) {
23
+
24
+ var slider_id = $(this).attr('id');
25
+ $('#'+slider_id).css({'visibility': 'hidden', 'opacity': 0});
26
+
27
+ wppsac_post_slider_init();
28
+ wppsac_post_carousel_slider_init();
29
+
30
+ setTimeout(function() {
31
+
32
+ /* Tweak for slick slider */
33
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
34
+ $('#'+slider_id).slick( 'setPosition' );
35
+ $('#'+slider_id).css({'visibility': 'visible', 'opacity': 1});
36
+ }
37
+ }, 300);
38
+ });
39
+ });
40
+
41
+ /* Accordion Element */
42
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/accordion.default', function() {
43
+
44
+ $('.wppsac-post-slider-init').each(function( index ) {
45
+
46
+ var slider_id = $(this).attr('id');
47
+ $('#'+slider_id).css({'visibility': 'hidden', 'opacity': 0});
48
+
49
+ wppsac_post_slider_init();
50
+ wppsac_post_carousel_slider_init();
51
+
52
+ setTimeout(function() {
53
+
54
+ /* Tweak for slick slider */
55
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
56
+ $('#'+slider_id).slick( 'setPosition' );
57
+ $('#'+slider_id).css({'visibility': 'visible', 'opacity': 1});
58
+ }
59
+ }, 300);
60
+ });
61
+ });
62
+
63
+ /* Toggle Element */
64
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/toggle.default', function() {
65
+
66
+ $('.wppsac-post-slider-init').each(function( index ) {
67
+
68
+ var slider_id = $(this).attr('id');
69
+ $('#'+slider_id).css({'visibility': 'hidden', 'opacity': 0});
70
+
71
+ wppsac_post_slider_init();
72
+ wppsac_post_carousel_slider_init();
73
+
74
+ setTimeout(function() {
75
+
76
+ /* Tweak for slick slider */
77
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
78
+ $('#'+slider_id).slick( 'setPosition' );
79
+ $('#'+slider_id).css({'visibility': 'visible', 'opacity': 1});
80
+ }
81
+ }, 300);
82
+ });
83
+ });
84
+ });
85
+ })(jQuery);
assets/js/wppsac-admin.js ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery( document ).ready(function($) {
2
+ /* Click to Copy the Text */
3
+ $(document).on('click', '.wpos-copy-clipboard', function() {
4
+ var copyText = $(this);
5
+ copyText.select();
6
+ document.execCommand("copy");
7
+ });
8
+
9
+ /* Drag widget event to render layout for Beaver Builder */
10
+ $('.fl-builder-content').on( 'fl-builder.preview-rendered', wppsac_fl_render_preview );
11
+
12
+ /* Save widget event to render layout for Beaver Builder */
13
+ $('.fl-builder-content').on( 'fl-builder.layout-rendered', wppsac_fl_render_preview );
14
+
15
+ /* Publish button event to render layout for Beaver Builder */
16
+ $('.fl-builder-content').on( 'fl-builder.didSaveNodeSettings', wppsac_fl_render_preview );
17
+ });
18
+
19
+ /* Function to render shortcode preview for Beaver Builder */
20
+ function wppsac_fl_render_preview() {
21
+ wppsac_post_slider_init();
22
+ wppsac_post_carousel_slider_init();
23
+ }
assets/js/wppsac-public.js CHANGED
@@ -2,78 +2,273 @@
2
 
3
  "use strict";
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  // For Slider
6
- $( '.wppsac-post-slider' ).each(function( index ) {
7
-
8
- var slider_id = $(this).attr('id');
9
- var slider_conf = $.parseJSON( $(this).closest('.wppsac-slick-slider-wrp').find('.wppsac-slider-conf').attr('data-conf'));
 
 
 
 
 
 
 
 
 
10
 
11
  if( typeof(slider_id) != 'undefined' && slider_id != '' ) {
12
  jQuery('#'+slider_id).slick({
13
- lazyLoad : slider_conf.lazyload,
14
- dots : (slider_conf.dots) == "true" ? true : false,
15
- infinite : true,
16
- arrows : (slider_conf.arrows) == "true" ? true : false,
17
- speed : parseInt(slider_conf.speed),
18
- autoplay : (slider_conf.autoplay) == "true" ? true : false,
19
- autoplaySpeed : parseInt(slider_conf.autoplay_interval),
20
  slidesToShow : 1,
21
  slidesToScroll : 1,
22
- rtl : (slider_conf.rtl) == "true" ? true : false,
 
 
 
 
 
 
 
23
  });
24
  }
25
  });
26
-
 
 
 
 
27
  // For Carousel
28
- $( '.wppsac-post-carousel' ).each(function( index ) {
29
-
30
- var carousel_id = $(this).attr('id');
31
- var carousel_conf = $.parseJSON( $(this).closest('.wppsac-slick-carousel-wrp').find('.wppsac-carousel-conf').attr('data-conf'));
32
-
 
 
 
 
 
 
 
 
 
33
  if( typeof(carousel_id) != 'undefined' && carousel_id != '' ) {
34
  jQuery('#'+carousel_id).slick({
35
- lazyLoad : carousel_conf.lazyload,
36
- dots : (carousel_conf.dots) == "true" ? true : false,
37
  infinite : true,
38
- arrows : (carousel_conf.arrows) == "true" ? true : false,
39
- speed : parseInt(carousel_conf.speed),
40
- autoplay : (carousel_conf.autoplay) == "true" ? true : false,
41
- autoplaySpeed : parseInt(carousel_conf.autoplay_interval),
42
- slidesToShow : parseInt(carousel_conf.slides_to_show),
43
- slidesToScroll : parseInt(carousel_conf.slides_to_scroll),
44
- rtl : (carousel_conf.rtl) == "true" ? true : false,
 
 
45
  responsive : [{
46
- breakpoint : 1023,
47
- settings : {
48
- slidesToShow : (parseInt(carousel_conf.slides_to_show) > 3) ? 3 : parseInt(carousel_conf.slides_to_show),
49
- slidesToScroll : 1,
50
- }
51
- },{
52
- breakpoint : 767,
53
- settings : {
54
- slidesToShow : (parseInt(carousel_conf.slides_to_show) > 2) ? 2 : parseInt(carousel_conf.slides_to_show),
55
- slidesToScroll : 1,
56
- }
57
- },{
58
- breakpoint : 639,
59
- settings : {
60
- slidesToShow : 1,
61
- slidesToScroll : 1,
62
- }
63
- },{
64
- breakpoint : 479,
65
- settings : {
66
- slidesToShow : 1,
67
- slidesToScroll : 1,
68
- }
69
- },{
70
- breakpoint : 319,
71
- settings : {
72
- slidesToShow : 1,
73
- slidesToScroll : 1,
74
- }
75
- }]
76
  });
77
  }
78
- });
79
- })( jQuery );
2
 
3
  "use strict";
4
 
5
+ /* Post Slider Initialize */
6
+ wppsac_post_slider_init();
7
+
8
+ /* Post Carousel Slider Initialize */
9
+ wppsac_post_carousel_slider_init();
10
+
11
+ /* Elementor Compatibility */
12
+ $(document).on('click', '.elementor-tab-title', function() {
13
+
14
+ var ele_control = $(this).attr('aria-controls');
15
+ var slider_wrap = $('#'+ele_control).find('.wppsac-post-slider-init');
16
+
17
+ console.log(slider_wrap);
18
+
19
+ /* Tweak for slick slider */
20
+ $( slider_wrap ).each(function( index ) {
21
+ var slider_id = $(this).attr('id');
22
+ $('#'+slider_id).css({'visibility': 'hidden', 'opacity': 0});
23
+
24
+ setTimeout(function() {
25
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
26
+ $('#'+slider_id).slick( 'setPosition' );
27
+ $('#'+slider_id).css({'visibility': 'visible', 'opacity': 1});
28
+ }
29
+ }, 350);
30
+ });
31
+ });
32
+
33
+ /* SiteOrigin Compatibility For Accordion Panel */
34
+ $(document).on('click', '.sow-accordion-panel', function() {
35
+
36
+ var ele_control = $(this).attr('data-anchor');
37
+ var slider_wrap = $('#accordion-content-'+ele_control).find('.wppsac-post-slider-init');
38
+
39
+ /* Tweak for slick slider */
40
+ $( slider_wrap ).each(function( index ) {
41
+ var slider_id = $(this).attr('id');
42
+
43
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
44
+ $('#'+slider_id).slick( 'setPosition' );
45
+ }
46
+ });
47
+ });
48
+
49
+ /* SiteOrigin Compatibility for Tab Panel */
50
+ $(document).on('click focus', '.sow-tabs-tab', function() {
51
+ var sel_index = $(this).index();
52
+ var cls_ele = $(this).closest('.sow-tabs');
53
+ var tab_cnt = cls_ele.find('.sow-tabs-panel').eq( sel_index );
54
+ var slider_wrap = tab_cnt.find('.wppsac-post-slider-init');
55
+
56
+ /* Tweak for slick slider */
57
+ $( slider_wrap ).each(function( index ) {
58
+ var slider_id = $(this).attr('id');
59
+ $('#'+slider_id).css({'visibility': 'hidden', 'opacity': 0});
60
+
61
+ setTimeout(function() {
62
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
63
+ $('#'+slider_id).slick( 'setPosition' );
64
+ $('#'+slider_id).css({'visibility': 'visible', 'opacity': 1});
65
+ }
66
+ }, 300);
67
+ });
68
+ });
69
+
70
+ /* Beaver Builder Compatibility for Accordion and Tabs */
71
+ $(document).on('click', '.fl-accordion-button, .fl-tabs-label', function() {
72
+
73
+ var ele_control = $(this).attr('aria-controls');
74
+ var slider_wrap = $('#'+ele_control).find('.wppsac-post-slider-init');
75
+
76
+ /* Tweak for slick slider */
77
+ $( slider_wrap ).each(function( index ) {
78
+ var slider_id = $(this).attr('id');
79
+ $('#'+slider_id).css({'visibility': 'hidden', 'opacity': 0});
80
+
81
+ setTimeout(function() {
82
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
83
+ $('#'+slider_id).slick( 'setPosition' );
84
+ $('#'+slider_id).css({'visibility': 'visible', 'opacity': 1});
85
+ }
86
+ }, 300);
87
+ });
88
+ });
89
+
90
+ /* Divi Builder Compatibility for Accordion & Toggle */
91
+ $(document).on('click', '.et_pb_toggle', function() {
92
+
93
+ var acc_cont = $(this).find('.et_pb_toggle_content');
94
+ var slider_wrap = acc_cont.find('.wppsac-post-slider-init');
95
+
96
+ /* Tweak for slick slider */
97
+ $( slider_wrap ).each(function( index ) {
98
+
99
+ var slider_id = $(this).attr('id');
100
+
101
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
102
+ $('#'+slider_id).slick( 'setPosition' );
103
+ }
104
+ });
105
+ });
106
+
107
+ /* Divi Builder Compatibility for Tabs */
108
+ $('.et_pb_tabs_controls li a').click( function() {
109
+ var cls_ele = $(this).closest('.et_pb_tabs');
110
+ var tab_cls = $(this).closest('li').attr('class');
111
+ var tab_cont = cls_ele.find('.et_pb_all_tabs .'+tab_cls);
112
+ var slider_wrap = tab_cont.find('.wppsac-post-slider-init');
113
+
114
+ setTimeout(function() {
115
+
116
+ /* Tweak for slick slider */
117
+ $( slider_wrap ).each(function( index ) {
118
+ var slider_id = $(this).attr('id');
119
+ $('#'+slider_id).css({'visibility': 'hidden', 'opacity': 0});
120
+
121
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
122
+ $('#'+slider_id).slick( 'setPosition' );
123
+ $('#'+slider_id).css({'visibility': 'visible', 'opacity': 1});
124
+ }
125
+ });
126
+ }, 550);
127
+ });
128
+
129
+ /* Fusion Builder Compatibility for Tabs */
130
+ $(document).on('click', '.fusion-tabs li .tab-link', function() {
131
+ var cls_ele = $(this).closest('.fusion-tabs');
132
+ var tab_id = $(this).attr('href');
133
+ var tab_cont = cls_ele.find(tab_id);
134
+ var slider_wrap = tab_cont.find('.wppsac-post-slider-init');
135
+
136
+ /* Tweak for slick slider */
137
+ $( slider_wrap ).each(function( index ) {
138
+ var slider_id = $(this).attr('id');
139
+ $('#'+slider_id).css({'visibility': 'hidden', 'opacity': 0});
140
+
141
+ setTimeout(function() {
142
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
143
+ $('#'+slider_id).slick( 'setPosition' );
144
+ $('#'+slider_id).css({'visibility': 'visible', 'opacity': 1});
145
+ $('#'+slider_id).slick( 'setPosition' );
146
+ }
147
+ }, 200);
148
+ });
149
+ });
150
+
151
+ /* Fusion Builder Compatibility for Toggles */
152
+ $(document).on('click', '.fusion-accordian .panel-heading a', function() {
153
+ var cls_ele = $(this).closest('.fusion-accordian');
154
+ var tab_id = $(this).attr('href');
155
+ var tab_cont = cls_ele.find(tab_id);
156
+ var slider_wrap = tab_cont.find('.wppsac-post-slider-init');
157
+
158
+ /* Tweak for slick slider */
159
+ $( slider_wrap ).each(function( index ) {
160
+ var slider_id = $(this).attr('id');
161
+ $('#'+slider_id).css({'visibility': 'hidden', 'opacity': 0});
162
+
163
+ setTimeout(function() {
164
+ if( typeof(slider_id) !== 'undefined' && slider_id != '' ) {
165
+ $('#'+slider_id).slick( 'setPosition' );
166
+ $('#'+slider_id).css({'visibility': 'visible', 'opacity': 1});
167
+ $('#'+slider_id).slick( 'setPosition' );
168
+ }
169
+ }, 200);
170
+ });
171
+ });
172
+
173
+ })( jQuery );
174
+
175
+ /* Function to initialize post slider */
176
+ function wppsac_post_slider_init() {
177
+
178
  // For Slider
179
+ jQuery( '.wppsac-post-slider' ).each(function( index ) {
180
+
181
+ if( jQuery(this).hasClass('slick-initialized') ) {
182
+ return;
183
+ }
184
+
185
+ // flex Condition
186
+ if(Wppsac.is_avada == 1) {
187
+ jQuery(this).closest('.fusion-flex-container').addClass('wppsac-fusion-flex');
188
+ }
189
+
190
+ var slider_id = jQuery(this).attr('id');
191
+ var slider_conf = jQuery.parseJSON( jQuery(this).closest('.wppsac-slick-slider-wrp').find('.wppsac-slider-conf').attr('data-conf'));
192
 
193
  if( typeof(slider_id) != 'undefined' && slider_id != '' ) {
194
  jQuery('#'+slider_id).slick({
 
 
 
 
 
 
 
195
  slidesToShow : 1,
196
  slidesToScroll : 1,
197
+ infinite : true,
198
+ lazyLoad : slider_conf.lazyload,
199
+ speed : parseInt( slider_conf.speed ),
200
+ autoplaySpeed : parseInt( slider_conf.autoplay_interval ),
201
+ dots : ( slider_conf.dots == "true" ) ? true : false,
202
+ arrows : ( slider_conf.arrows == "true" ) ? true : false,
203
+ autoplay : ( slider_conf.autoplay == "true" ) ? true : false,
204
+ rtl : ( slider_conf.rtl == "true" ) ? true : false,
205
  });
206
  }
207
  });
208
+ }
209
+
210
+ /* Function to initialize post slider */
211
+ function wppsac_post_carousel_slider_init() {
212
+
213
  // For Carousel
214
+ jQuery( '.wppsac-post-carousel' ).each(function( index ) {
215
+
216
+ if( jQuery(this).hasClass('slick-initialized') ) {
217
+ return;
218
+ }
219
+
220
+ // flex Condition
221
+ if(Wppsac.is_avada == 1) {
222
+ jQuery(this).closest('.fusion-flex-container').addClass('wppsac-fusion-flex');
223
+ }
224
+
225
+ var carousel_id = jQuery(this).attr('id');
226
+ var carousel_conf = jQuery.parseJSON( jQuery(this).closest('.wppsac-slick-carousel-wrp').find('.wppsac-carousel-conf').attr('data-conf'));
227
+
228
  if( typeof(carousel_id) != 'undefined' && carousel_id != '' ) {
229
  jQuery('#'+carousel_id).slick({
 
 
230
  infinite : true,
231
+ lazyLoad : carousel_conf.lazyload,
232
+ speed : parseInt( carousel_conf.speed ),
233
+ autoplaySpeed : parseInt( carousel_conf.autoplay_interval ),
234
+ slidesToShow : parseInt( carousel_conf.slides_to_show ),
235
+ slidesToScroll : parseInt( carousel_conf.slides_to_scroll ),
236
+ dots : ( carousel_conf.dots == "true" ) ? true : false,
237
+ arrows : ( carousel_conf.arrows == "true" ) ? true : false,
238
+ autoplay : ( carousel_conf.autoplay == "true" ) ? true : false,
239
+ rtl : ( carousel_conf.rtl == "true" ) ? true : false,
240
  responsive : [{
241
+ breakpoint : 1023,
242
+ settings : {
243
+ slidesToShow : ( parseInt( carousel_conf.slides_to_show ) > 3 ) ? 3 : parseInt( carousel_conf.slides_to_show ),
244
+ slidesToScroll : 1,
245
+ }
246
+ },{
247
+ breakpoint : 767,
248
+ settings : {
249
+ slidesToShow : ( parseInt( carousel_conf.slides_to_show ) > 2 ) ? 2 : parseInt( carousel_conf.slides_to_show ),
250
+ slidesToScroll : 1,
251
+ }
252
+ },{
253
+ breakpoint : 639,
254
+ settings : {
255
+ slidesToShow : 1,
256
+ slidesToScroll : 1,
257
+ }
258
+ },{
259
+ breakpoint : 479,
260
+ settings : {
261
+ slidesToShow : 1,
262
+ slidesToScroll : 1,
263
+ }
264
+ },{
265
+ breakpoint : 319,
266
+ settings : {
267
+ slidesToShow : 1,
268
+ slidesToScroll : 1,
269
+ }
270
+ }]
271
  });
272
  }
273
+ });
274
+ }
includes/admin/class-wprps-admin.php CHANGED
@@ -8,25 +8,25 @@
8
  * @since 1.0
9
  */
10
 
11
- if ( !defined( 'ABSPATH' ) ) {
12
  exit; // Exit if accessed directly
13
  }
14
 
15
  class Wprps_Admin {
16
-
17
  function __construct() {
18
-
19
  // Action to add admin menu
20
- add_action( 'admin_menu', array( $this, 'wprps_register_menu'), 12 );
21
 
22
  // Admin init process
23
  add_action( 'admin_init', array( $this, 'wprps_admin_init_process') );
24
-
25
  // Action to add custom column to post listing
26
  add_filter('manage_edit-category_columns', array( $this, 'wppsac_category_manage_columns' ) );
27
 
28
  // Action to add custom column data to post listing
29
- add_filter('manage_category_custom_column', array( $this, 'wppsac_category_columns' ) , 10, 3);
30
  }
31
 
32
  /**
@@ -37,15 +37,25 @@ class Wprps_Admin {
37
  */
38
  function wprps_register_menu() {
39
 
 
 
 
40
  // Register plugin premium page
41
  add_submenu_page( 'wprps-about', __('Upgrade to PRO - Recent Post Slider', 'wp-responsive-recent-post-slider'), '<span style="color:#2ECC71">'.__('Upgrade to PRO', 'wp-responsive-recent-post-slider').'</span>', 'edit_posts', 'wprps-premium', array($this, 'wprps_premium_page') );
42
-
43
- add_submenu_page( 'wprps-about', __('Hire Us', 'wp-responsive-recent-post-slider'), '<span style="color:#2ECC71">'.__('Hire Us', 'wp-responsive-recent-post-slider').'</span>', 'manage_options', 'wprps-hireus', array($this, 'wprps_hireus_page') );
44
  }
45
 
46
  /**
47
  * Getting Started Page Html
48
  *
 
 
 
 
 
 
 
 
 
49
  * @package WP Responsive Recent Post Slider
50
  * @since 1.0.0
51
  */
@@ -53,10 +63,6 @@ class Wprps_Admin {
53
  include_once( WPRPS_DIR . '/includes/admin/settings/premium.php' );
54
  }
55
 
56
- function wprps_hireus_page() {
57
- include_once( WPRPS_DIR . '/includes/admin/settings/hire-us.php' );
58
- }
59
-
60
  /**
61
  * Function to notification transient
62
  *
@@ -91,7 +97,7 @@ class Wprps_Admin {
91
  function wppsac_category_columns($ouput, $column_name, $tax_id) {
92
  if( $column_name == 'wpos_shortcode' ) {
93
  $ouput .= $tax_id;
94
- }
95
  return $ouput;
96
  }
97
  }
8
  * @since 1.0
9
  */
10
 
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
  exit; // Exit if accessed directly
13
  }
14
 
15
  class Wprps_Admin {
16
+
17
  function __construct() {
18
+
19
  // Action to add admin menu
20
+ add_action( 'admin_menu', array( $this, 'wprps_register_menu') );
21
 
22
  // Admin init process
23
  add_action( 'admin_init', array( $this, 'wprps_admin_init_process') );
24
+
25
  // Action to add custom column to post listing
26
  add_filter('manage_edit-category_columns', array( $this, 'wppsac_category_manage_columns' ) );
27
 
28
  // Action to add custom column data to post listing
29
+ add_filter('manage_category_custom_column', array( $this, 'wppsac_category_columns' ), 10, 3);
30
  }
31
 
32
  /**
37
  */
38
  function wprps_register_menu() {
39
 
40
+ // Getting Started page
41
+ add_menu_page( __('Recent Post Slider', 'wp-responsive-recent-post-slider'), __('Recent Post Slider', 'wp-responsive-recent-post-slider'), 'manage_options', 'wprps-about', array($this, 'wprps_getting_started_page'), 'dashicons-sticky', 6 );
42
+
43
  // Register plugin premium page
44
  add_submenu_page( 'wprps-about', __('Upgrade to PRO - Recent Post Slider', 'wp-responsive-recent-post-slider'), '<span style="color:#2ECC71">'.__('Upgrade to PRO', 'wp-responsive-recent-post-slider').'</span>', 'edit_posts', 'wprps-premium', array($this, 'wprps_premium_page') );
 
 
45
  }
46
 
47
  /**
48
  * Getting Started Page Html
49
  *
50
+ * @since 1.0
51
+ */
52
+ function wprps_getting_started_page() {
53
+ include_once( WPRPS_DIR . '/includes/admin/wprps-how-it-work.php' );
54
+ }
55
+
56
+ /**
57
+ * Premium Page Html
58
+ *
59
  * @package WP Responsive Recent Post Slider
60
  * @since 1.0.0
61
  */
63
  include_once( WPRPS_DIR . '/includes/admin/settings/premium.php' );
64
  }
65
 
 
 
 
 
66
  /**
67
  * Function to notification transient
68
  *
97
  function wppsac_category_columns($ouput, $column_name, $tax_id) {
98
  if( $column_name == 'wpos_shortcode' ) {
99
  $ouput .= $tax_id;
100
+ }
101
  return $ouput;
102
  }
103
  }
includes/admin/settings/hire-us.php DELETED
@@ -1,91 +0,0 @@
1
- <?php
2
- /**
3
- * Plugin Premium Offer Page
4
- *
5
- * @package WP Responsive Recent Post Slider
6
- * @since 1.4.4
7
- */
8
-
9
- if ( !defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly
11
- }
12
- ?>
13
- <div class="wrap">
14
-
15
- <h2><?php _e( 'Hire Us - Get unlimited expert WordPress Support and Development', 'wp-responsive-recent-post-slider' ); ?></h2><br />
16
-
17
- <div class="support-data">
18
- <h3 style="margin-bottom:5px;"><?php _e( 'Highlight of Hiring:', 'wp-responsive-recent-post-slider' ); ?></h3>
19
- <ul>
20
- <li><?php _e( 'Hire once, get unlimited jobs done', 'wp-responsive-recent-post-slider'); ?></li>
21
- <li><?php _e( 'Quick ticket support, quick solution', 'wp-responsive-recent-post-slider'); ?></li>
22
- <li><?php _e( 'Any sort of WP work with no extra cost', 'wp-responsive-recent-post-slider'); ?></li>
23
- <li><?php _e( 'Dedicated expert working only for you!', 'wp-responsive-recent-post-slider'); ?></li>
24
- </ul>
25
- </div>
26
-
27
- <style>
28
- .support-data ul{list-style-type:disc ; margin:10px 0 15px 20px;}
29
- .wprps-notice{padding: 10px; color: #3c763d; background-color: #dff0d8; border:1px solid #d6e9c6; margin: 0 0 20px 0;}
30
- .wpos-plugin-pricing-table thead th h2{font-weight: 400; font-size: 1.5em; line-height:normal; margin:0px; color: #2ECC71;}
31
- .wpos-plugin-pricing-table thead th h2 + p{font-size: 1.25em; line-height: 1.4; color: #999; margin:5px 0 5px 0;}
32
-
33
- table.wpos-plugin-pricing-table{width:90%; text-align: left; border-spacing: 0; border-collapse: collapse; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
34
-
35
- .wpos-plugin-pricing-table th, .wpos-plugin-pricing-table td{font-size:14px; line-height:normal; color:#444; vertical-align:middle; padding:12px;}
36
-
37
- .wpos-plugin-pricing-table colgroup:nth-child(1) { width: 31%; border: 1px solid #ccc; }
38
- .wpos-plugin-pricing-table colgroup:nth-child(2) { width: 22%; border: 1px solid #ccc; }
39
- .wpos-plugin-pricing-table colgroup:nth-child(3) { width: 25%; border: 10px solid #2ECC71; }
40
- .wpos-plugin-pricing-table colgroup:nth-child(4) { width: 31%; border: 1px solid #ccc; }
41
-
42
- /* Tablehead */
43
- .wpos-plugin-pricing-table thead th {background-color: #fff; background:linear-gradient(to bottom, #ffffff 0%, #ffffff 100%); text-align: center; position: relative; border-bottom: 1px solid #ccc; padding: 1em 0 3em; font-weight:400; color:#999;}
44
-
45
- .wpos-plugin-pricing-table thead th:nth-child(3) {padding:1em 0 3.5em 0;}
46
- .wpos-plugin-pricing-table thead th p.promo {font-size: 14px; color: #fff; position: absolute; bottom:0; left: -17px; z-index: 1000; width: 100%; margin: 0; padding: .625em 17px .75em; background-color: #ca4a1f; box-shadow: 0 2px 4px rgba(0,0,0,.25); border-bottom: 1px solid #ca4a1f;}
47
- .wpos-plugin-pricing-table thead th p.promo:before {content: ""; position: absolute; display: block; width: 0px; height: 0px; border-style: solid; border-width: 0 7px 7px 0; border-color: transparent #900 transparent transparent; bottom: -7px; left: 0;}
48
- .wpos-plugin-pricing-table thead th p.promo:after {content: ""; position: absolute; display: block; width: 0px; height: 0px; border-style: solid; border-width: 7px 7px 0 0; border-color: #900 transparent transparent transparent; bottom: -7px; right: 0;}
49
-
50
- /* Table Footer */
51
- .wpos-plugin-pricing-table tfoot th, .wpos-plugin-pricing-table tfoot td{text-align: center; border-top: 1px solid #ccc;}
52
- .wpos-plugin-pricing-table tfoot a{font-weight: 600; color: #fff; text-decoration: none; text-transform: uppercase; display: inline-block; padding: 1em 2em; background: #59c7fb; border-radius: .2em;}
53
- </style>
54
-
55
- <table class="wpos-plugin-pricing-table">
56
- <colgroup></colgroup>
57
- <colgroup></colgroup>
58
- <colgroup></colgroup>
59
- <colgroup></colgroup>
60
- <thead>
61
- <tr>
62
- <th>
63
- <h2><?php _e( 'Hire us for 1 Hr', 'wp-responsive-recent-post-slider'); ?></h2>
64
- <p>$20 USD</p>
65
- </th>
66
- <th>
67
- <h2><?php _e( 'Hire us for 5 Hrs', 'wp-responsive-recent-post-slider'); ?></h2>
68
- <p>$99 USD</p>
69
- </th>
70
- <th>
71
- <h2><?php _e( 'Hire us for 30 Hrs', 'wp-responsive-recent-post-slider'); ?></h2>
72
- <p>$499 USD</p>
73
- <p class="promo"><?php _e( 'Our most valuable package!', 'wp-responsive-recent-post-slider'); ?></p>
74
- </th>
75
- <th>
76
- <h2><?php _e( 'Hire us for 70 Hrs', 'wp-responsive-recent-post-slider'); ?></h2>
77
- <p>$999 USD</p>
78
- </th>
79
- </tr>
80
- </thead>
81
-
82
- <tfoot>
83
- <tr>
84
- <td><a href="https://www.wponlinesupport.com/checkout/?edd_action=add_to_cart&download_id=6044&edd_options[price_id]=6&ref=wposthemeplugin" target="_blank"><?php _e( 'Hire Us', 'wp-responsive-recent-post-slider'); ?></a></td>
85
- <td><a href="https://www.wponlinesupport.com/checkout/?edd_action=add_to_cart&download_id=6044&edd_options[price_id]=3&ref=wposthemeplugin" target="_blank"><?php _e( 'Hire Us', 'wp-responsive-recent-post-slider'); ?></a></td>
86
- <td><a href="https://www.wponlinesupport.com/checkout/?edd_action=add_to_cart&download_id=6044&edd_options[price_id]=4&ref=wposthemeplugin" target="_blank"><?php _e( 'Hire Us', 'wp-responsive-recent-post-slider'); ?></a></td>
87
- <td><a href="https://www.wponlinesupport.com/checkout/?edd_action=add_to_cart&download_id=6044&edd_options[price_id]=5&ref=wposthemeplugin" target="_blank"><?php _e( 'Hire Us', 'wp-responsive-recent-post-slider'); ?></a></td>
88
- </tr>
89
- </tfoot>
90
- </table>
91
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/admin/settings/premium.php CHANGED
@@ -6,7 +6,7 @@
6
  * @since 1.0
7
  */
8
 
9
- if ( !defined( 'ABSPATH' ) ) {
10
  exit; // Exit if accessed directly
11
  }
12
  ?>
@@ -18,6 +18,7 @@ if ( !defined( 'ABSPATH' ) ) {
18
  .wprps-notice{padding: 10px; color: #3c763d; background-color: #dff0d8; border:1px solid #d6e9c6; margin: 0 0 20px 0;}
19
  .wpos-plugin-pricing-table thead th h2{font-weight: 400; font-size: 2.4em; line-height:normal; margin:0px; color: #2ECC71;}
20
  .wpos-plugin-pricing-table thead th h2 + p{font-size: 1.25em; line-height: 1.4; color: #999; margin:5px 0 5px 0;}
 
21
 
22
  table.wpos-plugin-pricing-table{width:90%; text-align: left; border-spacing: 0; border-collapse: collapse; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
23
 
@@ -57,7 +58,7 @@ if ( !defined( 'ABSPATH' ) ) {
57
  <table class="wpos-plugin-pricing-table">
58
  <colgroup></colgroup>
59
  <colgroup></colgroup>
60
- <colgroup></colgroup>
61
  <thead>
62
  <tr>
63
  <th></th>
@@ -69,7 +70,7 @@ if ( !defined( 'ABSPATH' ) ) {
69
  <h2>Premium</h2>
70
  <p>Gain access to <strong>WP Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle</p>
71
  <p class="promo">Our most valuable package!</p>
72
- </th>
73
  </tr>
74
  </thead>
75
 
@@ -78,7 +79,7 @@ if ( !defined( 'ABSPATH' ) ) {
78
  <th></th>
79
  <td></td>
80
  <td><p>Gain access to <strong>WP Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle</p>
81
- <a href="https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/?ref=WposPratik&utm_source=WP&utm_medium=Post-Slider&utm_campaign=Upgrade-PRO" target="_blank">View Buying Options</a></td>
82
  </tr>
83
  </tfoot>
84
 
@@ -112,7 +113,7 @@ if ( !defined( 'ABSPATH' ) ) {
112
  <th>Widgets<span> WordPress Widgets to your sidebars.</span></th>
113
  <td><i class="dashicons dashicons-no-alt"></i></td>
114
  <td><i class="dashicons dashicons-yes"></i></td>
115
- </tr>
116
  <tr>
117
  <th>Custom Post Type Support<span>Supports any custom post type</span></th>
118
  <td>Limited</td>
@@ -129,15 +130,40 @@ if ( !defined( 'ABSPATH' ) ) {
129
  <td><i class="dashicons dashicons-yes"></i></td>
130
  </tr>
131
  <tr>
132
- <th>Visual Composer Page Builder Supports <span>Use this plugin with Visual Composer easily</span></th>
 
 
 
 
 
 
 
 
 
 
133
  <td><i class="dashicons dashicons-no-alt"></i></td>
134
  <td><i class="dashicons dashicons-yes"></i></td>
135
- </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  <tr>
137
  <th>Image Lazyload <span>Lazyload support for the image.</span></th>
138
  <td><i class="dashicons dashicons-yes"></i></td>
139
  <td><i class="dashicons dashicons-yes"></i></td>
140
- </tr>
141
  <tr>
142
  <th>Custom Read More link for Post <span>Redirect post to third party destination if any</span></th>
143
  <td><i class="dashicons dashicons-no-alt"></i></td>
@@ -152,7 +178,7 @@ if ( !defined( 'ABSPATH' ) ) {
152
  <th>Display Desired Post <span>Display only the post you want</span></th>
153
  <td><i class="dashicons dashicons-yes"></i></td>
154
  <td><i class="dashicons dashicons-yes"></i></td>
155
- </tr>
156
  <tr>
157
  <th>Exclude Some Posts <span>Do not display the posts you want</span></th>
158
  <td><i class="dashicons dashicons-yes"></i></td>
@@ -192,7 +218,7 @@ if ( !defined( 'ABSPATH' ) ) {
192
  <th>Support <span>Get support for plugin</span></th>
193
  <td>Limited</td>
194
  <td>1 Year</td>
195
- </tr>
196
  </tbody>
197
  </table>
198
  </div>
6
  * @since 1.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
  exit; // Exit if accessed directly
11
  }
12
  ?>
18
  .wprps-notice{padding: 10px; color: #3c763d; background-color: #dff0d8; border:1px solid #d6e9c6; margin: 0 0 20px 0;}
19
  .wpos-plugin-pricing-table thead th h2{font-weight: 400; font-size: 2.4em; line-height:normal; margin:0px; color: #2ECC71;}
20
  .wpos-plugin-pricing-table thead th h2 + p{font-size: 1.25em; line-height: 1.4; color: #999; margin:5px 0 5px 0;}
21
+ .wpos-new-feature{ font-size: 10px; color: #fff; font-weight: bold; background-color: #03aa29; padding:1px 4px; font-style: normal; }
22
 
23
  table.wpos-plugin-pricing-table{width:90%; text-align: left; border-spacing: 0; border-collapse: collapse; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
24
 
58
  <table class="wpos-plugin-pricing-table">
59
  <colgroup></colgroup>
60
  <colgroup></colgroup>
61
+ <colgroup></colgroup>
62
  <thead>
63
  <tr>
64
  <th></th>
70
  <h2>Premium</h2>
71
  <p>Gain access to <strong>WP Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle</p>
72
  <p class="promo">Our most valuable package!</p>
73
+ </th>
74
  </tr>
75
  </thead>
76
 
79
  <th></th>
80
  <td></td>
81
  <td><p>Gain access to <strong>WP Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle</p>
82
+ <a href="https://www.wponlinesupport.com/pricing/?utm_source=WP&utm_medium=Post-Slider&utm_campaign=Upgrade-PRO" target="_blank">View Buying Options</a></td>
83
  </tr>
84
  </tfoot>
85
 
113
  <th>Widgets<span> WordPress Widgets to your sidebars.</span></th>
114
  <td><i class="dashicons dashicons-no-alt"></i></td>
115
  <td><i class="dashicons dashicons-yes"></i></td>
116
+ </tr>
117
  <tr>
118
  <th>Custom Post Type Support<span>Supports any custom post type</span></th>
119
  <td>Limited</td>
130
  <td><i class="dashicons dashicons-yes"></i></td>
131
  </tr>
132
  <tr>
133
+ <th>Elementor Page Builder Support <em class="wpos-new-feature">New</em> <span>Use this plugin with Elementor easily</span></th>
134
+ <td><i class="dashicons dashicons-no-alt"></i></td>
135
+ <td><i class="dashicons dashicons-yes"></i></td>
136
+ </tr>
137
+ <tr>
138
+ <th>Bevear Builder Support <em class="wpos-new-feature">New</em> <span>Use this plugin with Bevear Builder easily</span></th>
139
+ <td><i class="dashicons dashicons-no-alt"></i></td>
140
+ <td><i class="dashicons dashicons-yes"></i></td>
141
+ </tr>
142
+ <tr>
143
+ <th>SiteOrigin Page Builder Support <em class="wpos-new-feature">New</em> <span>Use this plugin with SiteOrigin easily</span></th>
144
  <td><i class="dashicons dashicons-no-alt"></i></td>
145
  <td><i class="dashicons dashicons-yes"></i></td>
146
+ </tr>
147
+ <tr>
148
+ <th>Divi Page Builder Native Support <em class="wpos-new-feature">New</em> <span>Use this plugin with Divi Builder easily</span></th>
149
+ <td><i class="dashicons dashicons-yes"></i></td>
150
+ <td><i class="dashicons dashicons-yes"></i></td>
151
+ </tr>
152
+ <tr>
153
+ <th>Fusion Page Builder (Avada) native support <em class="wpos-new-feature">New</em> <span>Use this plugin with Fusion(Avada) Builder easily</span></th>
154
+ <td><i class="dashicons dashicons-yes"></i></td>
155
+ <td><i class="dashicons dashicons-yes"></i></td>
156
+ </tr>
157
+ <tr>
158
+ <th>WPBakery Page Builder Support <span>Use this plugin with Visual Composer easily</span></th>
159
+ <td><i class="dashicons dashicons-no-alt"></i></td>
160
+ <td><i class="dashicons dashicons-yes"></i></td>
161
+ </tr>
162
  <tr>
163
  <th>Image Lazyload <span>Lazyload support for the image.</span></th>
164
  <td><i class="dashicons dashicons-yes"></i></td>
165
  <td><i class="dashicons dashicons-yes"></i></td>
166
+ </tr>
167
  <tr>
168
  <th>Custom Read More link for Post <span>Redirect post to third party destination if any</span></th>
169
  <td><i class="dashicons dashicons-no-alt"></i></td>
178
  <th>Display Desired Post <span>Display only the post you want</span></th>
179
  <td><i class="dashicons dashicons-yes"></i></td>
180
  <td><i class="dashicons dashicons-yes"></i></td>
181
+ </tr>
182
  <tr>
183
  <th>Exclude Some Posts <span>Do not display the posts you want</span></th>
184
  <td><i class="dashicons dashicons-yes"></i></td>
218
  <th>Support <span>Get support for plugin</span></th>
219
  <td>Limited</td>
220
  <td>1 Year</td>
221
+ </tr>
222
  </tbody>
223
  </table>
224
  </div>
includes/admin/wprps-how-it-work.php CHANGED
@@ -6,265 +6,178 @@
6
  * @since 1.0.0
7
  */
8
 
9
- if ( !defined( 'ABSPATH' ) ) {
10
  exit; // Exit if accessed directly
11
  }
12
-
13
- // Action to add menu
14
- add_action('admin_menu', 'wprps_register_getting_started_page');
15
-
16
- /**
17
- * Register plugin design page in admin menu
18
- *
19
- * @package WP Responsive Recent Post Slider
20
- * @since 1.0.0
21
- */
22
- function wprps_register_getting_started_page() {
23
- add_menu_page( __('Recent Post Slider', 'wp-responsive-recent-post-slider'), __('Recent Post Slider', 'wp-responsive-recent-post-slider'), 'manage_options', 'wprps-about', 'wprps_getting_started_page', 'dashicons-sticky', 6 );
24
- }
25
-
26
- /**
27
- * Function to display plugin design HTML
28
- *
29
- * @package WP Responsive Recent Post Slider
30
- * @since 1.0.0
31
- */
32
- function wprps_getting_started_page() {
33
-
34
- $wpos_feed_tabs = wprps_help_tabs();
35
- $active_tab = isset($_GET['tab']) ? $_GET['tab'] : 'how-it-work';
36
  ?>
37
 
38
- <div class="wrap wprpsm-wrap">
39
-
40
- <h2 class="nav-tab-wrapper">
41
- <?php
42
- foreach ($wpos_feed_tabs as $tab_key => $tab_val) {
43
- $tab_name = $tab_val['name'];
44
- $active_cls = ($tab_key == $active_tab) ? 'nav-tab-active' : '';
45
- $tab_link = add_query_arg( array('page' => 'wprps-about', 'tab' => $tab_key), admin_url('admin.php') );
46
- ?>
47
-
48
- <a class="nav-tab <?php echo $active_cls; ?>" href="<?php echo $tab_link; ?>"><?php echo $tab_name; ?></a>
49
-
50
- <?php } ?>
51
- </h2>
52
-
53
- <div class="wprpsm-tab-cnt-wrp">
54
- <?php
55
- if( isset($active_tab) && $active_tab == 'how-it-work' ) {
56
- wprps_howitwork_page();
57
- }
58
- else if( isset($active_tab) && $active_tab == 'plugins-feed' ) {
59
- echo wprps_get_plugin_design( 'plugins-feed' );
60
- } else {
61
- echo wprps_get_plugin_design( 'offers-feed' );
62
- }
63
- ?>
64
- </div><!-- end .wprpsm-tab-cnt-wrp -->
65
-
66
- </div><!-- end .wprpsm-wrap -->
67
-
68
- <?php
69
- }
70
-
71
- /**
72
- * Gets the plugin design part feed
73
- *
74
- * @package WP Responsive Recent Post Slider
75
- * @since 1.0.0
76
- */
77
- function wprps_get_plugin_design( $feed_type = '' ) {
78
-
79
- $active_tab = isset($_GET['tab']) ? $_GET['tab'] : '';
80
-
81
- // If tab is not set then return
82
- if( empty($active_tab) ) {
83
- return false;
84
- }
85
-
86
- // Taking some variables
87
- $wpos_feed_tabs = wprps_help_tabs();
88
- $transient_key = isset($wpos_feed_tabs[$active_tab]['transient_key']) ? $wpos_feed_tabs[$active_tab]['transient_key'] : 'wprpsm_' . $active_tab;
89
- $url = isset($wpos_feed_tabs[$active_tab]['url']) ? $wpos_feed_tabs[$active_tab]['url'] : '';
90
- $transient_time = isset($wpos_feed_tabs[$active_tab]['transient_time']) ? $wpos_feed_tabs[$active_tab]['transient_time'] : 172800;
91
- $cache = get_transient( $transient_key );
92
-
93
- if ( false === $cache ) {
94
-
95
- $feed = wp_remote_get( esc_url_raw( $url ), array( 'timeout' => 120, 'sslverify' => false ) );
96
- $response_code = wp_remote_retrieve_response_code( $feed );
97
-
98
- if ( ! is_wp_error( $feed ) && $response_code == 200 ) {
99
- if ( isset( $feed['body'] ) && strlen( $feed['body'] ) > 0 ) {
100
- $cache = wp_remote_retrieve_body( $feed );
101
- set_transient( $transient_key, $cache, $transient_time );
102
- }
103
- } else {
104
- $cache = '<div class="error"><p>' . __( 'There was an error retrieving the data from the server. Please try again later.', 'wp-responsive-recent-post-slider' ) . '</div>';
105
- }
106
- }
107
- return $cache;
108
- }
109
-
110
- /**
111
- * Function to get plugin feed tabs
112
- *
113
- * @package WP Responsive Recent Post Slider
114
- * @since 1.0.0
115
- */
116
- function wprps_help_tabs() {
117
- $wpos_feed_tabs = array(
118
- 'how-it-work' => array(
119
- 'name' => __('How It Works', 'wp-responsive-recent-post-slider'),
120
- ),
121
- 'plugins-feed' => array(
122
- 'name' => __('Our Plugins', 'wp-responsive-recent-post-slider'),
123
- 'url' => 'http://wponlinesupport.com/plugin-data-api/plugins-data.php',
124
- 'transient_key' => 'wpos_plugins_feed',
125
- 'transient_time' => 172800
126
- )
127
- );
128
- return $wpos_feed_tabs;
129
- }
130
-
131
- /**
132
- * Function to get 'How It Works' HTML
133
- *
134
- * @package WP Responsive Recent Post Slider
135
- * @since 1.0.0
136
- */
137
- function wprps_howitwork_page() { ?>
138
-
139
  <style type="text/css">
140
  .wpos-pro-box .hndle{background-color:#0073AA; color:#fff;}
141
- .wpos-pro-box .postbox{background:#dbf0fa none repeat scroll 0 0; border:1px solid #0073aa; color:#191e23;}
142
  .postbox-container .wpos-list li:before{font-family: dashicons; content: "\f139"; font-size:20px; color: #0073aa; vertical-align: middle;}
143
  .wprpsm-wrap .wpos-button-full{display:block; text-align:center; box-shadow:none; border-radius:0;}
144
  .wprpsm-shortcode-preview{background-color: #e7e7e7; font-weight: bold; padding: 2px 5px; display: inline-block; margin:0 0 2px 0;}
145
  .upgrade-to-pro{font-size:18px; text-align:center; margin-bottom:15px;}
 
 
146
  </style>
147
 
148
- <div class="post-box-container">
149
- <div id="poststuff">
150
- <div id="post-body" class="metabox-holder columns-2">
151
-
152
- <!--How it workd HTML -->
153
- <div id="post-body-content">
154
- <div class="metabox-holder">
155
- <div class="meta-box-sortables ui-sortable">
156
- <div class="postbox">
157
-
158
- <h3 class="hndle">
159
- <span><?php _e( 'How It Works - Display and Shortcode', 'wp-responsive-recent-post-slider' ); ?></span>
160
- </h3>
161
-
162
- <div class="inside">
163
- <table class="form-table">
164
- <tbody>
165
- <tr>
166
- <th>
167
- <label><?php _e('Geeting Started with Post Slider', 'wp-responsive-recent-post-slider'); ?>:</label>
168
- </th>
169
- <td>
170
- <ul>
171
- <li><?php _e('Step-1. This plugin create a menu "Recent Post Slider".', 'wp-responsive-recent-post-slider'); ?></li>
172
- <li><?php _e('Step-2. This plugin get all the latest POST from WordPress Post section with a simple shortcode', 'wp-responsive-recent-post-slider'); ?></li>
173
- <li><?php _e('Step-3. If you need a <b>Featured Post</b> OR <b>Trending/Popular Post</b> plugin then try our plugins', 'wp-responsive-recent-post-slider'); ?> <a href="https://wordpress.org/plugins/featured-post-creative/" target="_blank"><?php _e( 'Featured Post', 'wp-responsive-recent-post-slider' ); ?></a> and <a href="https://wordpress.org/plugins/wp-trending-post-slider-and-widget/" target="_blank"><?php _e( 'Trending/Popular Post', 'wp-responsive-recent-post-slider' ); ?></a></li>
174
-
175
- </ul>
176
- </td>
177
- </tr>
178
-
179
- <tr>
180
- <th>
181
- <label><?php _e('How Shortcode Works', 'wp-responsive-recent-post-slider'); ?>:</label>
182
- </th>
183
- <td>
184
- <ul>
185
- <li><?php _e('Step-1. Create a page like Latet Post OR add the shortcode in a page.', 'wp-responsive-recent-post-slider'); ?></li>
186
- <li><?php _e('Step-2. Put below shortcode as per your need.', 'wp-responsive-recent-post-slider'); ?></li>
187
- </ul>
188
- </td>
189
- </tr>
190
-
191
- <tr>
192
- <th>
193
- <label><?php _e('All Shortcodes', 'wp-responsive-recent-post-slider'); ?>:</label>
194
- </th>
195
- <td>
196
- <span class="wprpsm-shortcode-preview">[recent_post_slider design="design-1"]</span> – <?php _e('Post slider Shortcode. Where you can use 4 designs.', 'wp-responsive-recent-post-slider'); ?> <br />
197
- <span class="wprpsm-shortcode-preview">[recent_post_carousel design="design-1"]</span> – <?php _e('Post carousel Shortcode. Where you can use 1 designs.', 'wp-responsive-recent-post-slider'); ?>
198
- </td>
199
- </tr>
200
-
201
- <tr>
202
- <th>
203
- <label><?php _e('Need Support?', 'wp-responsive-recent-post-slider'); ?></label>
204
- </th>
205
- <td>
206
- <p><?php _e('Check plugin document for shortcode parameters and demo for designs.', 'wp-responsive-recent-post-slider'); ?></p> <br/>
207
- <a class="button button-primary" href="http://docs.wponlinesupport.com/wp-responsive-recent-post-slider/" target="_blank"><?php _e('Documentation', 'wp-responsive-recent-post-slider'); ?></a>
208
- <a class="button button-primary" href="http://demo.wponlinesupport.com/recent-post-slider-demo/" target="_blank"><?php _e('Demo for Designs', 'wp-responsive-recent-post-slider'); ?></a>
209
- </td>
210
- </tr>
211
- </tbody>
212
- </table>
213
- </div><!-- .inside -->
214
- </div><!-- #general -->
215
- </div><!-- .meta-box-sortables ui-sortable -->
216
- </div><!-- .metabox-holder -->
217
- </div><!-- #post-body-content -->
218
-
219
- <!--Upgrad to Pro HTML -->
220
- <div id="postbox-container-1" class="postbox-container">
221
- <div class="metabox-holder wpos-pro-box">
222
- <div class="meta-box-sortables ui-sortable">
223
- <div class="postbox" style="">
224
-
225
- <h3 class="hndle">
226
- <span><?php _e( 'Upgrate to Pro', 'wp-responsive-recent-post-slider' ); ?></span>
227
- </h3>
228
- <div class="inside">
229
- <ul class="wpos-list">
230
- <li><?php _e('60+ designs', 'wp-responsive-recent-post-slider' ); ?></li>
231
- <li><?php _e('Recent Post Slider with 25 designs', 'wp-responsive-recent-post-slider' ); ?></li>
232
- <li><?php _e('Recent Post Carousel with 30 designs', 'wp-responsive-recent-post-slider' ); ?></li>
233
- <li><?php _e('Recent gridbox slider with 8 designs', 'wp-responsive-recent-post-slider' ); ?></li>
234
- <li><?php _e('3 Widgets (Post slider, Post List/Slider-1, Post List/Slider-2)', 'wp-responsive-recent-post-slider' ); ?></li>
235
- <li><?php _e('Drag & Drop order change', 'wp-responsive-recent-post-slider' ); ?></li>
236
- <li><?php _e('Custom CSS option', 'wp-responsive-recent-post-slider' ); ?></li>
237
- <li><?php _e('Gutenberg Block Supports', 'wp-responsive-recent-post-slider' ); ?></li>
238
- <li><?php _e('Visual Composer Support', 'wp-responsive-recent-post-slider' ); ?></li>
239
- <li><?php _e('WP Templating Features', 'wp-responsive-recent-post-slider' ); ?></li>
240
- <li><?php _e('Slider RTL support', 'wp-responsive-recent-post-slider' ); ?></li>
241
- <li><?php _e('Fully responsive', 'wp-responsive-recent-post-slider' ); ?></li>
242
- <li><?php _e('100% Multi language', 'wp-responsive-recent-post-slider' ); ?></li>
243
- </ul>
244
- <div class="upgrade-to-pro"><?php echo __( 'Gain access to <strong>Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle', 'wp-responsive-recent-post-slider' ); ?></div>
245
- <a class="button button-primary wpos-button-full" href="https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/?ref=WposPratik&utm_source=WP&utm_medium=Post-Slider&utm_campaign=Upgrade-PRO" target="_blank"><?php _e('Go Premium ', 'wp-responsive-recent-post-slider'); ?></a>
246
- <p><a class="button button-primary wpos-button-full" href="http://demo.wponlinesupport.com/prodemo/post-slider-pro/" target="_blank"><?php _e('View PRO Demo ', 'wp-responsive-recent-post-slider'); ?></a> </p>
247
- </div><!-- .inside -->
248
- </div><!-- #general -->
249
- </div><!-- .meta-box-sortables ui-sortable -->
250
- </div><!-- .metabox-holder -->
251
-
252
- <!-- Help to improve this plugin! -->
253
- <div class="metabox-holder">
254
- <div class="meta-box-sortables ui-sortable">
255
- <div class="postbox">
256
- <h3 class="hndle">
257
- <span><?php _e( 'Help to improve this plugin!', 'wp-responsive-recent-post-slider' ); ?></span>
258
- </h3>
259
- <div class="inside">
260
- <p><?php _e( 'Enjoyed this plugin? You can help by rate this plugin ', 'wp-responsive-recent-post-slider' ); ?><a href="https://wordpress.org/support/plugin/wp-responsive-recent-post-slider/reviews/" target="_blank"><?php _e( '5 stars!', 'wp-responsive-recent-post-slider' ); ?></a></p>
261
- </div><!-- .inside -->
262
- </div><!-- #general -->
263
- </div><!-- .meta-box-sortables ui-sortable -->
264
- </div><!-- .metabox-holder -->
265
- </div><!-- #post-container-1 -->
266
-
267
- </div><!-- #post-body -->
268
- </div><!-- #poststuff -->
269
- </div><!-- #post-box-container -->
270
- <?php }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  * @since 1.0.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
  exit; // Exit if accessed directly
11
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  ?>
13
 
14
+ <div class="wrap wprpsm-wrap">
15
+ <h2><?php _e( 'How It Works', 'wp-responsive-recent-post-slider' ); ?></h2>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  <style type="text/css">
17
  .wpos-pro-box .hndle{background-color:#0073AA; color:#fff;}
18
+ .wpos-pro-box.postbox{background:#dbf0fa none repeat scroll 0 0; border:1px solid #0073aa; color:#191e23;}
19
  .postbox-container .wpos-list li:before{font-family: dashicons; content: "\f139"; font-size:20px; color: #0073aa; vertical-align: middle;}
20
  .wprpsm-wrap .wpos-button-full{display:block; text-align:center; box-shadow:none; border-radius:0;}
21
  .wprpsm-shortcode-preview{background-color: #e7e7e7; font-weight: bold; padding: 2px 5px; display: inline-block; margin:0 0 2px 0;}
22
  .upgrade-to-pro{font-size:18px; text-align:center; margin-bottom:15px;}
23
+ .wpos-copy-clipboard{-webkit-touch-callout: all; -webkit-user-select: all; -khtml-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all;}
24
+ .wpos-new-feature{ font-size: 10px; color: #fff; font-weight: bold; background-color: #03aa29; padding:1px 4px; font-style: normal; }
25
  </style>
26
 
27
+ <div id="poststuff">
28
+ <div id="post-body" class="metabox-holder columns-2">
29
+
30
+ <!--How it workd HTML -->
31
+ <div id="post-body-content">
32
+ <div class="meta-box-sortables">
33
+ <div class="postbox">
34
+ <div class="postbox-header">
35
+ <h2 class="hndle">
36
+ <span><?php _e( 'How It Works - Display and shortcode', 'wp-responsive-recent-post-slider' ); ?></span>
37
+ </h2>
38
+ </div>
39
+
40
+ <div class="inside">
41
+ <table class="form-table">
42
+ <tbody>
43
+ <tr>
44
+ <th>
45
+ <label><?php _e('Getting Started with Post Slider', 'wp-responsive-recent-post-slider'); ?>:</label>
46
+ </th>
47
+ <td>
48
+ <ul>
49
+ <li><?php _e('Step-1. This plugin create a menu "Recent Post Slider".', 'wp-responsive-recent-post-slider'); ?></li>
50
+ <li><?php _e('Step-2. This plugin get all the latest POST from WordPress Post section with a simple shortcode', 'wp-responsive-recent-post-slider'); ?></li>
51
+ <li><?php _e('Step-3. If you need a <b>Featured Post</b> OR <b>Trending/Popular Post</b> plugin then try our plugins', 'wp-responsive-recent-post-slider'); ?> <a href="https://wordpress.org/plugins/featured-post-creative/" target="_blank"><?php _e( 'Featured Post', 'wp-responsive-recent-post-slider' ); ?></a> and <a href="https://wordpress.org/plugins/wp-trending-post-slider-and-widget/" target="_blank"><?php _e( 'Trending/Popular Post', 'wp-responsive-recent-post-slider' ); ?></a></li>
52
+ </ul>
53
+ </td>
54
+ </tr>
55
+
56
+ <tr>
57
+ <th>
58
+ <label><?php _e('How Shortcode Works', 'wp-responsive-recent-post-slider'); ?>:</label>
59
+ </th>
60
+ <td>
61
+ <ul>
62
+ <li><?php _e('Step-1. Create a page like Latest Post OR add the shortcode in a page.', 'wp-responsive-recent-post-slider'); ?></li>
63
+ <li><?php _e('Step-2. Put below shortcode as per your need.', 'wp-responsive-recent-post-slider'); ?></li>
64
+ </ul>
65
+ </td>
66
+ </tr>
67
+
68
+ <tr>
69
+ <th>
70
+ <label><?php _e('All Shortcodes', 'wp-responsive-recent-post-slider'); ?>:</label>
71
+ </th>
72
+ <td>
73
+ <span class="wpos-copy-clipboard wprpsm-shortcode-preview">[recent_post_slider design="design-1"]</span> – <?php _e('Post slider Shortcode. Where you can use 4 designs.', 'wp-responsive-recent-post-slider'); ?> <br />
74
+ <span class="wpos-copy-clipboard wprpsm-shortcode-preview">[recent_post_carousel design="design-1"]</span> – <?php _e('Post carousel Shortcode. Where you can use 1 designs.', 'wp-responsive-recent-post-slider'); ?>
75
+ </td>
76
+ </tr>
77
+ </tbody>
78
+ </table>
79
+ </div><!-- .inside -->
80
+ </div><!-- #general -->
81
+ </div><!-- .meta-box-sortables -->
82
+
83
+ <div class="meta-box-sortables">
84
+ <div class="postbox">
85
+ <div class="postbox-header">
86
+ <h2 class="hndle">
87
+ <span><?php _e( 'Gutenberg Support', 'wp-responsive-recent-post-slider' ); ?></span>
88
+ </h2>
89
+ </div>
90
+ <div class="inside">
91
+ <table class="form-table">
92
+ <tbody>
93
+ <tr>
94
+ <th>
95
+ <label><?php _e('How it Work', 'wp-responsive-recent-post-slider'); ?>:</label>
96
+ </th>
97
+ <td>
98
+ <ul>
99
+ <li><?php _e('Step-1. Go to the Gutenberg editor of your page.', 'wp-responsive-recent-post-slider'); ?></li>
100
+ <li><?php _e('Step-2. Search "recent" keyword in the Gutenberg block list.', 'wp-responsive-recent-post-slider'); ?></li>
101
+ <li><?php _e('Step-3. Add any block of recent and you will find its relative options on the right end side.', 'wp-responsive-recent-post-slider'); ?></li>
102
+ </ul>
103
+ </td>
104
+ </tr>
105
+ </tbody>
106
+ </table>
107
+ </div><!-- .inside -->
108
+ </div><!-- #general -->
109
+ </div><!-- .meta-box-sortables -->
110
+
111
+ <div class="meta-box-sortables">
112
+ <div class="postbox">
113
+ <div class="postbox-header">
114
+ <h2 class="hndle">
115
+ <span><?php _e( 'Need Support?', 'wp-responsive-recent-post-slider' ); ?></span>
116
+ </h2>
117
+ </div>
118
+ <div class="inside">
119
+ <table class="form-table">
120
+ <tbody>
121
+ <tr>
122
+ <td>
123
+ <p><?php _e('Check plugin document for shortcode parameters and demo for designs.', 'wp-responsive-recent-post-slider'); ?></p> <br/>
124
+ <a class="button button-primary" href="https://docs.wponlinesupport.com/wp-responsive-recent-post-slider/" target="_blank"><?php _e('Documentation', 'wp-responsive-recent-post-slider'); ?></a>
125
+ <a class="button button-primary" href="https://demo.wponlinesupport.com/recent-post-slider-demo/" target="_blank"><?php _e('Demo for Designs', 'wp-responsive-recent-post-slider'); ?></a>
126
+ </td>
127
+ </tr>
128
+ </tbody>
129
+ </table>
130
+ </div><!-- .inside -->
131
+ </div><!-- #general -->
132
+ </div><!-- .meta-box-sortables -->
133
+
134
+ <!-- Help to improve this plugin! -->
135
+ <div class="meta-box-sortables">
136
+ <div class="postbox">
137
+ <div class="postbox-header">
138
+ <h2 class="hndle">
139
+ <span><?php _e( 'Help to improve this plugin!', 'wp-responsive-recent-post-slider' ); ?></span>
140
+ </h2>
141
+ </div>
142
+ <div class="inside">
143
+ <p><?php _e( 'Enjoyed this plugin? You can help by rate this plugin ', 'wp-responsive-recent-post-slider' ); ?><a href="https://wordpress.org/support/plugin/wp-responsive-recent-post-slider/reviews/" target="_blank"><?php _e( '5 stars!', 'wp-responsive-recent-post-slider' ); ?></a></p>
144
+ </div><!-- .inside -->
145
+ </div><!-- #general -->
146
+ </div><!-- .meta-box-sortables -->
147
+ </div><!-- #post-body-content -->
148
+
149
+ <!--Upgrad to Pro HTML -->
150
+ <div id="postbox-container-1" class="postbox-container">
151
+ <div class="meta-box-sortables">
152
+ <div class="postbox wpos-pro-box">
153
+ <h3 class="hndle">
154
+ <span><?php _e( 'Upgrate to Pro', 'wp-responsive-recent-post-slider' ); ?></span>
155
+ </h3>
156
+ <div class="inside">
157
+ <ul class="wpos-list">
158
+ <li><?php _e( '60+ designs', 'wp-responsive-recent-post-slider' ); ?></li>
159
+ <li><?php _e( 'Recent Post Slider with 25 designs', 'wp-responsive-recent-post-slider' ); ?></li>
160
+ <li><?php _e( 'Recent Post Carousel with 30 designs', 'wp-responsive-recent-post-slider' ); ?></li>
161
+ <li><?php _e( 'Recent gridbox slider with 8 designs', 'wp-responsive-recent-post-slider' ); ?></li>
162
+ <li><?php _e( '3 Widgets (Post slider, Post List/Slider-1, Post List/Slider-2)', 'wp-responsive-recent-post-slider' ); ?></li>
163
+ <li><?php _e( 'Drag & Drop order change', 'wp-responsive-recent-post-slider' ); ?></li>
164
+ <li><?php _e( 'Custom CSS option', 'wp-responsive-recent-post-slider' ); ?></li>
165
+ <li><?php _e( 'WPBakery Page Builder Supports', 'wp-responsive-recent-post-slider' ); ?></li>
166
+ <li><?php _e( 'Gutenberg, Elementor, Bevear and SiteOrigin Page Builder Support. <span class="wpos-new-feature">New</span>', 'wp-responsive-recent-post-slider'); ?></li>
167
+ <li><?php _e( 'Divi Page Builder Native Support. <span class="wpos-new-feature">New</span>', 'wp-responsive-recent-post-slider'); ?></li>
168
+ <li><?php _e( 'Fusion Page Builder (Avada) native support.<span class="wpos-new-feature">New</span>', 'wp-responsive-recent-post-slider'); ?></li>
169
+ <li><?php _e( 'WP Templating Features', 'wp-responsive-recent-post-slider' ); ?></li>
170
+ <li><?php _e( 'Slider RTL support', 'wp-responsive-recent-post-slider' ); ?></li>
171
+ <li><?php _e( 'Fully responsive', 'wp-responsive-recent-post-slider' ); ?></li>
172
+ <li><?php _e( '100% Multi language', 'wp-responsive-recent-post-slider' ); ?></li>
173
+ </ul>
174
+ <div class="upgrade-to-pro"><?php echo __( 'Gain access to <strong>Responsive Recent Post Slider</strong> included in <br /><strong>Essential Plugin Bundle', 'wp-responsive-recent-post-slider' ); ?></div>
175
+ <a class="button button-primary wpos-button-full" href="https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/?ref=WposPratik&utm_source=WP&utm_medium=Post-Slider&utm_campaign=Upgrade-PRO" target="_blank"><?php _e('Go Premium ', 'wp-responsive-recent-post-slider'); ?></a>
176
+ <p><a class="button button-primary wpos-button-full" href="https://demo.wponlinesupport.com/prodemo/post-slider-pro/" target="_blank"><?php _e('View PRO Demo ', 'wp-responsive-recent-post-slider'); ?></a></p>
177
+ </div><!-- .inside -->
178
+ </div><!-- #general -->
179
+ </div><!-- .meta-box-sortables -->
180
+ </div><!-- #post-container-1 -->
181
+ </div><!-- #post-body -->
182
+ </div><!-- #poststuff -->
183
+ </div>
includes/class-wppsac-script.php CHANGED
@@ -8,20 +8,56 @@
8
  * @since 1.0.0
9
  */
10
 
11
- // Exit if accessed directly
12
- if ( !defined( 'ABSPATH' ) ) exit;
 
13
 
14
  class Wppsac_Script {
15
-
16
  function __construct() {
17
-
 
 
 
18
  // Action to add style at front side
19
  add_action( 'wp_enqueue_scripts', array($this, 'wppsac_front_style') );
20
-
21
  // Action to add script at front side
22
  add_action( 'wp_enqueue_scripts', array($this, 'wppsac_front_script') );
23
  }
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  /**
26
  * Function to add style at front side
27
  *
@@ -31,7 +67,7 @@ class Wppsac_Script {
31
  function wppsac_front_style() {
32
 
33
  // Registring and enqueing slick slider css
34
- if( !wp_style_is( 'wpos-slick-style', 'registered' ) ) {
35
  wp_register_style( 'wpos-slick-style', WPRPS_URL.'assets/css/slick.css', array(), WPRPS_VERSION );
36
  wp_enqueue_style( 'wpos-slick-style' );
37
  }
@@ -49,8 +85,10 @@ class Wppsac_Script {
49
  */
50
  function wppsac_front_script() {
51
 
 
 
52
  // Registring slick slider script
53
- if( !wp_script_is( 'wpos-slick-jquery', 'registered' ) ) {
54
  wp_register_script( 'wpos-slick-jquery', WPRPS_URL.'assets/js/slick.min.js', array('jquery'), WPRPS_VERSION, true );
55
  }
56
 
@@ -58,10 +96,45 @@ class Wppsac_Script {
58
  wp_register_script( 'wppsac-public-script', WPRPS_URL.'assets/js/wppsac-public.js', array('jquery'), WPRPS_VERSION, true );
59
  wp_localize_script( 'wppsac-public-script', 'Wppsac', array(
60
  'is_mobile' => (wp_is_mobile()) ? 1 : 0,
61
- 'is_rtl' => (is_rtl()) ? 1 : 0
 
62
  ));
63
- }
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
66
 
67
  $wppsac_script = new Wppsac_Script();
8
  * @since 1.0.0
9
  */
10
 
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
+ exit; // Exit if accessed directly
13
+ }
14
 
15
  class Wppsac_Script {
16
+
17
  function __construct() {
18
+
19
+ // Action to add style in backend
20
+ add_action( 'admin_enqueue_scripts', array($this, 'wppsac_admin_style_script') );
21
+
22
  // Action to add style at front side
23
  add_action( 'wp_enqueue_scripts', array($this, 'wppsac_front_style') );
24
+
25
  // Action to add script at front side
26
  add_action( 'wp_enqueue_scripts', array($this, 'wppsac_front_script') );
27
  }
28
 
29
+ /**
30
+ * Enqueue admin styles
31
+ *
32
+ * @package WP Responsive Recent Post Slider
33
+ * @since 2.5.2
34
+ */
35
+ function wppsac_register_admin_assets(){
36
+
37
+ /* Styles */
38
+ // Registring admin css
39
+ wp_register_style( 'wppsac-admin-style', WPRPS_URL.'assets/css/wppsac-admin-style.css', array(), WPRPS_VERSION );
40
+
41
+ /* Scripts */
42
+ // Registring admin script
43
+ wp_register_script( 'wppsac-admin-script', WPRPS_URL.'assets/js/wppsac-admin.js', array('jquery'), WPRPS_VERSION );
44
+ }
45
+
46
+ /**
47
+ * Enqueue admin styles
48
+ *
49
+ * @package WP Responsive Recent Post Slider
50
+ * @since 2.5
51
+ */
52
+ function wppsac_admin_style_script( $hook ) {
53
+
54
+ $this->wppsac_register_admin_assets();
55
+
56
+ if( $hook == 'toplevel_page_wprps-about' ) {
57
+ wp_enqueue_script( 'wppsac-admin-script' );
58
+ }
59
+ }
60
+
61
  /**
62
  * Function to add style at front side
63
  *
67
  function wppsac_front_style() {
68
 
69
  // Registring and enqueing slick slider css
70
+ if( ! wp_style_is( 'wpos-slick-style', 'registered' ) ) {
71
  wp_register_style( 'wpos-slick-style', WPRPS_URL.'assets/css/slick.css', array(), WPRPS_VERSION );
72
  wp_enqueue_style( 'wpos-slick-style' );
73
  }
85
  */
86
  function wppsac_front_script() {
87
 
88
+ global $post;
89
+
90
  // Registring slick slider script
91
+ if( ! wp_script_is( 'wpos-slick-jquery', 'registered' ) ) {
92
  wp_register_script( 'wpos-slick-jquery', WPRPS_URL.'assets/js/slick.min.js', array('jquery'), WPRPS_VERSION, true );
93
  }
94
 
96
  wp_register_script( 'wppsac-public-script', WPRPS_URL.'assets/js/wppsac-public.js', array('jquery'), WPRPS_VERSION, true );
97
  wp_localize_script( 'wppsac-public-script', 'Wppsac', array(
98
  'is_mobile' => (wp_is_mobile()) ? 1 : 0,
99
+ 'is_rtl' => (is_rtl()) ? 1 : 0,
100
+ 'is_avada' => ( class_exists( 'FusionBuilder' ) ) ? 1 : 0,
101
  ));
 
102
 
103
+ // Register Elementor script
104
+ wp_register_script( 'wppsac-elementor-script', WPRPS_URL.'assets/js/elementor/wppsac-elementor.js', array('jquery'), WPRPS_VERSION, true );
105
+
106
+ // Enqueue Script for Elementor Preview
107
+ if ( defined('ELEMENTOR_PLUGIN_BASE') && isset( $_GET['elementor-preview'] ) && $post->ID == (int) $_GET['elementor-preview'] ) {
108
+
109
+ wp_enqueue_script( 'wpos-slick-jquery' );
110
+ wp_enqueue_script( 'wppsac-public-script' );
111
+ wp_enqueue_script( 'wppsac-elementor-script' );
112
+ }
113
+
114
+ // Enqueue Style & Script for Beaver Builder
115
+ if ( class_exists( 'FLBuilderModel' ) && FLBuilderModel::is_builder_active() ) {
116
+
117
+ $this->wppsac_register_admin_assets();
118
+
119
+ wp_enqueue_script( 'wppsac-admin-script' );
120
+ wp_enqueue_script( 'wpos-slick-jquery' );
121
+ wp_enqueue_script( 'wppsac-public-script' );
122
+ }
123
+
124
+ // Enqueue Admin Style & Script for Divi Page Builder
125
+ if( function_exists( 'et_core_is_fb_enabled' ) && isset( $_GET['et_fb'] ) && $_GET['et_fb'] == 1 ) {
126
+ $this->wppsac_register_admin_assets();
127
+
128
+ wp_enqueue_style( 'wppsac-admin-style');
129
+ }
130
+
131
+ // Enqueue Admin Style for Fusion Page Builder
132
+ if( class_exists( 'FusionBuilder' ) && (( isset( $_GET['builder'] ) && $_GET['builder'] == 'true' ) ) ) {
133
+ $this->wppsac_register_admin_assets();
134
+
135
+ wp_enqueue_style( 'wppsac-admin-style');
136
+ }
137
+ }
138
  }
139
 
140
  $wppsac_script = new Wppsac_Script();
includes/shortcodes/wppsac-carousel.php CHANGED
@@ -6,26 +6,48 @@
6
  * @since 1.0.0
7
  */
8
 
9
- // Exit if accessed directly
10
- if ( !defined( 'ABSPATH' ) ) exit;
 
11
 
12
  function wprps_post_carousel( $atts, $content = null ) {
13
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  extract(shortcode_atts(array(
15
- 'limit' => '10',
16
  'design' => 'design-1',
17
  'category' => '',
18
  'show_date' => 'true',
19
  'show_category_name' => 'true',
20
  'show_content' => 'true',
21
- 'content_words_limit' => '20',
22
- 'slides_to_show' => '3',
23
- 'slides_to_scroll' => '1',
24
  'dots' => 'true',
25
  'arrows' => 'true',
26
  'autoplay' => 'true',
27
- 'autoplay_interval' => '3000',
28
- 'speed' => '500',
29
  'hide_post' => array(),
30
  'posts' => array(),
31
  'post_type' => 'post',
@@ -39,94 +61,96 @@ function wprps_post_carousel( $atts, $content = null ) {
39
  'align' => '',
40
  'extra_class' => '',
41
  ), $atts));
42
-
43
  $unique = wppsac_get_unique();
44
  $shortcode_designs = wppsac_carousel_designs();
45
- $posts_per_page = !empty($limit) ? $limit : '10';
46
- $cat = (!empty($category)) ? explode(',', $category) : '';
47
  $design = ($design && (array_key_exists(trim($design), $shortcode_designs))) ? trim($design) : 'design-1';
48
- $showCategory = ( $show_category_name == 'true' ) ? true : false;
49
  $showContent = ( $show_content == 'true' ) ? true : false;
50
- $showDate = ( $show_date == 'true') ? true : false;
51
- $showAuthor = ( $show_author == 'true') ? true : false;
52
- $showreadmore = ( $show_read_more == 'false') ? false : true;
53
- $words_limit = !empty( $content_words_limit ) ? $content_words_limit : 20;
54
- $slides_to_show = !empty($slides_to_show) ? $slides_to_show : 3;
55
- $slides_to_scroll = !empty($slides_to_scroll) ? $slides_to_scroll : 1;
56
  $dots = ( $dots == 'false' ) ? 'false' : 'true';
57
  $arrows = ( $arrows == 'false' ) ? 'false' : 'true';
58
  $autoplay = ( $autoplay == 'false' ) ? 'false' : 'true';
59
- $autoplay_interval = (!empty($autoplay_interval)) ? $autoplay_interval : 3000;
60
- $speed = (!empty($speed)) ? $speed : 500;
61
- $post_type = !empty($post_type) ? $post_type : 'post';
62
- $taxonomy = !empty($taxonomy) ? $taxonomy : 'category';
63
- $media_size = !empty($media_size) ? $media_size : 'full'; // you can use thumbnail, medium, medium_large, large, full
64
- $exclude_post = !empty($hide_post) ? explode(',', $hide_post) : array();
65
- $posts = !empty($posts) ? explode(',', $posts) : array();
66
  $lazyload = ( $lazyload == 'ondemand' || $lazyload == 'progressive' ) ? $lazyload : ''; // ondemand or progressive
67
- $align = !empty( $align ) ? 'align'.$align : '';
68
  $extra_class = $extra_class .' '. $align .' '. $className;
69
  $extra_class = wppsac_sanitize_html_classes( $extra_class );
70
-
71
  // For RTL
72
- if( empty($rtl) && is_rtl() ) {
73
  $rtl = 'true';
74
  } elseif ( $rtl == 'true' ) {
75
  $rtl = 'true';
76
  } else {
77
  $rtl = 'false';
78
  }
79
-
80
  // Shortcode file
81
  $design_file_path = WPRPS_DIR . '/templates/carousel/' . $design . '.php';
82
  $design_file = (file_exists($design_file_path)) ? $design_file_path : '';
83
-
84
  // Enqueus required script
85
  wp_enqueue_script( 'wpos-slick-jquery' );
86
  wp_enqueue_script( 'wppsac-public-script' );
87
-
88
  // Slider configuration
89
  $carousel_conf = compact('slides_to_show', 'slides_to_scroll', 'dots', 'arrows', 'autoplay', 'autoplay_interval','speed', 'rtl', 'lazyload');
90
-
91
  // Taking some global
92
  global $post;
93
-
94
  ob_start();
95
-
96
  // WP Query Parameters
97
  $args = array (
98
- 'post_type' => $post_type,
99
  'post_status' => array( 'publish' ),
100
- 'orderby' => 'date',
101
- 'order' => 'DESC',
102
- 'posts_per_page' => $posts_per_page,
103
- 'post__not_in' => $exclude_post,
104
- 'post__in' => $posts,
105
  );
106
 
107
- // Category Parameter
108
- if( $cat != "") {
109
 
110
  $args['tax_query'] = array(
111
- array(
112
- 'taxonomy' => $taxonomy,
113
- 'field' => 'term_id',
114
- 'terms' => $cat,
115
- ));
 
116
  }
117
 
118
- $query = new WP_Query($args);
119
  $post_count = $query->post_count;
120
-
121
- if ( $query->have_posts() ) :
122
- ?>
123
  <div class="wppsac-slick-carousel-wrp wppsac-clearfix <?php echo $extra_class; ?>">
124
- <div id="wppsac-post-carousel-<?php echo $unique; ?>" class="wppsac-post-carousel <?php echo $design; ?>">
125
  <?php
126
  while ( $query->have_posts() ) : $query->the_post();
127
- $post_id = isset($post->ID) ? $post->ID : '';
128
- $cat_list = wppsac_get_category_list($post->ID, $taxonomy);
129
- $feat_image = wppsac_get_post_featured_image( $post->ID, $media_size, true );
 
 
130
  if( $design_file ) {
131
  include( $design_file );
132
  }
@@ -140,4 +164,6 @@ function wprps_post_carousel( $atts, $content = null ) {
140
 
141
  return ob_get_clean();
142
  }
 
 
143
  add_shortcode('recent_post_carousel', 'wprps_post_carousel');
6
  * @since 1.0.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
 
13
  function wprps_post_carousel( $atts, $content = null ) {
14
+
15
+ // SiteOrigin Page Builder Gutenberg Block Tweak - Do not Display Preview
16
+ if( isset( $_POST['action'] ) && ($_POST['action'] == 'so_panels_layout_block_preview' || $_POST['action'] == 'so_panels_builder_content_json') ) {
17
+ return "[recent_post_carousel]";
18
+ }
19
+
20
+ // Divi Frontend Builder - Do not Display Preview
21
+ if( function_exists( 'et_core_is_fb_enabled' ) && isset( $_POST['is_fb_preview'] ) && isset( $_POST['shortcode'] ) ) {
22
+ return '<div class="wppsac-builder-shrt-prev">
23
+ <div class="wppsac-builder-shrt-title"><span>'.esc_html__('Recent Carousel View', 'wp-responsive-recent-post-slider').'</span></div>
24
+ recent_post_carousel
25
+ </div>';
26
+ }
27
+
28
+ // Fusion Builder Live Editor - Do not Display Preview
29
+ if( class_exists( 'FusionBuilder' ) && (( isset( $_GET['builder'] ) && $_GET['builder'] == 'true' ) || ( isset( $_POST['action'] ) && $_POST['action'] == 'get_shortcode_render' )) ) {
30
+ return '<div class="wppsac-builder-shrt-prev">
31
+ <div class="wppsac-builder-shrt-title"><span>'.esc_html__('Recent Carousel View', 'wp-slick-slider-and-image-carousel').'</span></div>
32
+ recent_post_carousel
33
+ </div>';
34
+ }
35
+
36
  extract(shortcode_atts(array(
37
+ 'limit' => 10,
38
  'design' => 'design-1',
39
  'category' => '',
40
  'show_date' => 'true',
41
  'show_category_name' => 'true',
42
  'show_content' => 'true',
43
+ 'content_words_limit' => 20,
44
+ 'slides_to_show' => 3,
45
+ 'slides_to_scroll' => 1,
46
  'dots' => 'true',
47
  'arrows' => 'true',
48
  'autoplay' => 'true',
49
+ 'autoplay_interval' => 3000,
50
+ 'speed' => 500,
51
  'hide_post' => array(),
52
  'posts' => array(),
53
  'post_type' => 'post',
61
  'align' => '',
62
  'extra_class' => '',
63
  ), $atts));
64
+
65
  $unique = wppsac_get_unique();
66
  $shortcode_designs = wppsac_carousel_designs();
67
+ $posts_per_page = ! empty( $limit ) ? $limit : 10;
68
+ $cat = ! empty( $category ) ? explode(',', $category) : '';
69
  $design = ($design && (array_key_exists(trim($design), $shortcode_designs))) ? trim($design) : 'design-1';
70
+ $showCategory = ( $show_category_name == 'true' ) ? true : false;
71
  $showContent = ( $show_content == 'true' ) ? true : false;
72
+ $showDate = ( $show_date == 'true') ? true : false;
73
+ $showAuthor = ( $show_author == 'true') ? true : false;
74
+ $showreadmore = ( $show_read_more == 'false') ? false : true;
75
+ $words_limit = ! empty( $content_words_limit ) ? $content_words_limit : 20;
76
+ $slides_to_show = ! empty( $slides_to_show ) ? $slides_to_show : 3;
77
+ $slides_to_scroll = ! empty( $slides_to_scroll ) ? $slides_to_scroll : 1;
78
  $dots = ( $dots == 'false' ) ? 'false' : 'true';
79
  $arrows = ( $arrows == 'false' ) ? 'false' : 'true';
80
  $autoplay = ( $autoplay == 'false' ) ? 'false' : 'true';
81
+ $autoplay_interval = ! empty( $autoplay_interval ) ? $autoplay_interval : 3000;
82
+ $speed = ! empty( $speed ) ? $speed : 500;
83
+ $post_type = ! empty( $post_type ) ? $post_type : 'post';
84
+ $taxonomy = ! empty( $taxonomy ) ? $taxonomy : 'category';
85
+ $media_size = ! empty( $media_size ) ? $media_size : 'full'; // you can use thumbnail, medium, medium_large, large, full
86
+ $exclude_post = ! empty( $hide_post ) ? explode(',', $hide_post) : array();
87
+ $posts = ! empty( $posts ) ? explode(',', $posts) : array();
88
  $lazyload = ( $lazyload == 'ondemand' || $lazyload == 'progressive' ) ? $lazyload : ''; // ondemand or progressive
89
+ $align = ! empty( $align ) ? 'align'.$align : '';
90
  $extra_class = $extra_class .' '. $align .' '. $className;
91
  $extra_class = wppsac_sanitize_html_classes( $extra_class );
92
+
93
  // For RTL
94
+ if( empty( $rtl ) && is_rtl() ) {
95
  $rtl = 'true';
96
  } elseif ( $rtl == 'true' ) {
97
  $rtl = 'true';
98
  } else {
99
  $rtl = 'false';
100
  }
101
+
102
  // Shortcode file
103
  $design_file_path = WPRPS_DIR . '/templates/carousel/' . $design . '.php';
104
  $design_file = (file_exists($design_file_path)) ? $design_file_path : '';
105
+
106
  // Enqueus required script
107
  wp_enqueue_script( 'wpos-slick-jquery' );
108
  wp_enqueue_script( 'wppsac-public-script' );
109
+
110
  // Slider configuration
111
  $carousel_conf = compact('slides_to_show', 'slides_to_scroll', 'dots', 'arrows', 'autoplay', 'autoplay_interval','speed', 'rtl', 'lazyload');
112
+
113
  // Taking some global
114
  global $post;
115
+
116
  ob_start();
117
+
118
  // WP Query Parameters
119
  $args = array (
120
+ 'post_type' => $post_type,
121
  'post_status' => array( 'publish' ),
122
+ 'orderby' => 'date',
123
+ 'order' => 'DESC',
124
+ 'posts_per_page' => $posts_per_page,
125
+ 'post__not_in' => $exclude_post,
126
+ 'post__in' => $posts,
127
  );
128
 
129
+ // Category Parameter
130
+ if( $cat != "" ) {
131
 
132
  $args['tax_query'] = array(
133
+ array(
134
+ 'taxonomy' => $taxonomy,
135
+ 'field' => 'term_id',
136
+ 'terms' => $cat,
137
+ )
138
+ );
139
  }
140
 
141
+ $query = new WP_Query( $args );
142
  $post_count = $query->post_count;
143
+
144
+ if ( $query->have_posts() ) : ?>
 
145
  <div class="wppsac-slick-carousel-wrp wppsac-clearfix <?php echo $extra_class; ?>">
146
+ <div id="wppsac-post-carousel-<?php echo $unique; ?>" class="wppsac-post-slider-init wppsac-post-carousel <?php echo $design; ?>">
147
  <?php
148
  while ( $query->have_posts() ) : $query->the_post();
149
+
150
+ $post_id = isset( $post->ID ) ? $post->ID : '';
151
+ $cat_list = wppsac_get_category_list($post->ID, $taxonomy);
152
+ $feat_image = wppsac_get_post_featured_image( $post->ID, $media_size, true );
153
+
154
  if( $design_file ) {
155
  include( $design_file );
156
  }
164
 
165
  return ob_get_clean();
166
  }
167
+
168
+ // Shortcode Recent Post Carousel
169
  add_shortcode('recent_post_carousel', 'wprps_post_carousel');
includes/shortcodes/wppsac-slider.php CHANGED
@@ -6,66 +6,88 @@
6
  * @since 1.0.0
7
  */
8
 
9
- // Exit if accessed directly
10
- if ( !defined( 'ABSPATH' ) ) exit;
 
11
 
12
  function wprps_recent_post_slider( $atts, $content = null ) {
13
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  extract(shortcode_atts(array(
15
- 'limit' => '10',
16
  'design' => 'design-1',
17
- 'category' => '',
18
  'show_date' => 'true',
19
  'show_category_name' => 'true',
20
  'show_content' => 'true',
21
- 'content_words_limit' => '20',
22
  'dots' => 'true',
23
- 'arrows' => 'true',
24
- 'autoplay' => 'true',
25
- 'autoplay_interval' => '3000',
26
- 'speed' => '500',
27
  'posts' => array(),
28
  'hide_post' => array(),
29
- 'post_type' => 'post',
30
  'taxonomy' => 'category',
31
  'show_author' => 'true',
32
  'show_read_more' => 'true',
33
- 'media_size' => 'full',
34
  'rtl' => 'false',
35
  'lazyload' => '',
36
  'className' => '',
37
  'align' => '',
38
  'extra_class' => '',
39
  ), $atts));
40
-
41
  $unique = wppsac_get_unique();
42
  $shortcode_designs = wppsac_slider_designs();
43
- $posts_per_page = !empty($limit) ? $limit : '10';
44
- $cat = (!empty($category)) ? explode(',', $category) : '';
45
- $design = ($design && (array_key_exists(trim($design), $shortcode_designs))) ? trim($design) : 'design-1';
46
- $showCategory = ( $show_category_name == 'true' ) ? true : false;
47
  $showContent = ( $show_content == 'true' ) ? true : false;
48
- $showDate = ( $show_date == 'true') ? true : false;
49
- $showAuthor = ( $show_author == 'true') ? true : false;
50
- $showreadmore = ( $show_read_more == 'false') ? false : true;
51
- $words_limit = !empty( $content_words_limit ) ? $content_words_limit : 20;
52
  $dots = ( $dots == 'false' ) ? 'false' : 'true';
53
  $arrows = ( $arrows == 'false' ) ? 'false' : 'true';
54
  $autoplay = ( $autoplay == 'false' ) ? 'false' : 'true';
55
- $autoplay_interval = (!empty($autoplay_interval)) ? $autoplay_interval : 3000;
56
- $speed = (!empty($speed)) ? $speed : 500;
57
- $post_type = !empty($post_type) ? $post_type : 'post';
58
- $taxonomy = !empty($taxonomy) ? $taxonomy : 'category';
59
- $media_size = !empty($media_size) ? $media_size : 'full'; // you can use thumbnail, medium, medium_large, large, full
60
- $exclude_post = !empty($hide_post) ? explode(',', $hide_post) : array();
61
- $posts = !empty($posts) ? explode(',', $posts) : array();
62
  $lazyload = ( $lazyload == 'ondemand' || $lazyload == 'progressive' ) ? $lazyload : ''; // ondemand or progressive
63
- $align = !empty( $align ) ? 'align'.$align : '';
64
  $extra_class = $extra_class .' '. $align .' '. $className;
65
  $extra_class = wppsac_sanitize_html_classes( $extra_class );
66
-
67
  // For RTL
68
- if( empty($rtl) && is_rtl() ) {
69
  $rtl = 'true';
70
  } elseif ( $rtl == 'true' ) {
71
  $rtl = 'true';
@@ -76,53 +98,54 @@ function wprps_recent_post_slider( $atts, $content = null ) {
76
  // Shortcode file
77
  $design_file_path = WPRPS_DIR . '/templates/slider/' . $design . '.php';
78
  $design_file = (file_exists($design_file_path)) ? $design_file_path : '';
79
-
80
  // Enqueus required script
81
  wp_enqueue_script( 'wpos-slick-jquery' );
82
  wp_enqueue_script( 'wppsac-public-script' );
83
-
84
  // Slider configuration
85
  $slider_conf = compact('dots', 'arrows', 'autoplay', 'autoplay_interval','speed', 'rtl', 'lazyload');
86
-
87
  // Taking some global
88
  global $post;
89
-
90
  ob_start();
91
-
92
  // WP Query Parameters
93
  $args = array (
94
- 'post_type' => $post_type,
95
- 'post_status' => array( 'publish' ),
96
- 'orderby' => 'date',
97
- 'order' => 'DESC',
98
- 'posts_per_page' => $posts_per_page,
99
- 'post__in' => $posts,
100
- 'post__not_in' => $exclude_post,
101
  );
102
 
103
  // Category Parameter
104
- if($cat != "") {
105
 
106
  $args['tax_query'] = array(
107
- array(
108
- 'taxonomy' => $taxonomy,
109
- 'field' => 'term_id',
110
- 'terms' => $cat,
111
- ));
 
112
  }
113
 
114
- $query = new WP_Query($args);
115
  $post_count = $query->post_count;
116
-
117
  if ( $query->have_posts() ) :
118
  ?>
119
  <div class="wppsac-slick-slider-wrp wppsac-clearfix <?php echo $extra_class; ?>">
120
- <div id="wppsac-post-slider-<?php echo $unique; ?>" class="wppsac-post-slider <?php echo $design; ?>">
121
  <?php
122
  while ( $query->have_posts() ) : $query->the_post();
123
- $post_id = isset($post->ID) ? $post->ID : '';
124
  $cat_list = wppsac_get_category_list($post->ID, $taxonomy);
125
- $feat_image = wppsac_get_post_featured_image( $post->ID, $media_size, true );
126
  if( $design_file ) {
127
  include( $design_file );
128
  }
6
  * @since 1.0.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
 
13
  function wprps_recent_post_slider( $atts, $content = null ) {
14
+
15
+ // SiteOrigin Page Builder Gutenberg Block Tweak - Do not Display Preview
16
+ if( isset( $_POST['action'] ) && ($_POST['action'] == 'so_panels_layout_block_preview' || $_POST['action'] == 'so_panels_builder_content_json') ) {
17
+ return "[recent_post_slider]";
18
+ }
19
+
20
+ // Divi Frontend Builder - Do not Display Preview
21
+ if( function_exists( 'et_core_is_fb_enabled' ) && isset( $_POST['is_fb_preview'] ) && isset( $_POST['shortcode'] ) ) {
22
+ return '<div class="wppsac-builder-shrt-prev">
23
+ <div class="wppsac-builder-shrt-title"><span>'.esc_html__('Recent Slider View', 'wp-responsive-recent-post-slider').'</span></div>
24
+ recent_post_slider
25
+ </div>';
26
+ }
27
+
28
+ // Fusion Builder Live Editor - Do not Display Preview
29
+ if( class_exists( 'FusionBuilder' ) && (( isset( $_GET['builder'] ) && $_GET['builder'] == 'true' ) || ( isset( $_POST['action'] ) && $_POST['action'] == 'get_shortcode_render' )) ) {
30
+ return '<div class="wppsac-builder-shrt-prev">
31
+ <div class="wppsac-builder-shrt-title"><span>'.esc_html__('Recent Slider View', 'wp-responsive-recent-post-slider').'</span></div>
32
+ recent_post_slider
33
+ </div>';
34
+ }
35
+
36
  extract(shortcode_atts(array(
37
+ 'limit' => 10,
38
  'design' => 'design-1',
39
+ 'category' => '',
40
  'show_date' => 'true',
41
  'show_category_name' => 'true',
42
  'show_content' => 'true',
43
+ 'content_words_limit' => 20,
44
  'dots' => 'true',
45
+ 'arrows' => 'true',
46
+ 'autoplay' => 'true',
47
+ 'autoplay_interval' => 3000,
48
+ 'speed' => 500,
49
  'posts' => array(),
50
  'hide_post' => array(),
51
+ 'post_type' => 'post',
52
  'taxonomy' => 'category',
53
  'show_author' => 'true',
54
  'show_read_more' => 'true',
55
+ 'media_size' => 'full',
56
  'rtl' => 'false',
57
  'lazyload' => '',
58
  'className' => '',
59
  'align' => '',
60
  'extra_class' => '',
61
  ), $atts));
62
+
63
  $unique = wppsac_get_unique();
64
  $shortcode_designs = wppsac_slider_designs();
65
+ $posts_per_page = ! empty( $limit ) ? $limit : 10;
66
+ $cat = ! empty( $category ) ? explode(',', $category) : '';
67
+ $design = ( $design && ( array_key_exists( trim( $design ), $shortcode_designs ))) ? trim( $design ) : 'design-1';
68
+ $showCategory = ( $show_category_name == 'true' ) ? true : false;
69
  $showContent = ( $show_content == 'true' ) ? true : false;
70
+ $showDate = ( $show_date == 'true') ? true : false;
71
+ $showAuthor = ( $show_author == 'true') ? true : false;
72
+ $showreadmore = ( $show_read_more == 'false') ? false : true;
73
+ $words_limit = ! empty( $content_words_limit ) ? $content_words_limit : 20;
74
  $dots = ( $dots == 'false' ) ? 'false' : 'true';
75
  $arrows = ( $arrows == 'false' ) ? 'false' : 'true';
76
  $autoplay = ( $autoplay == 'false' ) ? 'false' : 'true';
77
+ $autoplay_interval = ! empty( $autoplay_interval ) ? $autoplay_interval : 3000;
78
+ $speed = ! empty( $speed ) ? $speed : 500;
79
+ $post_type = ! empty( $post_type ) ? $post_type : 'post';
80
+ $taxonomy = ! empty( $taxonomy ) ? $taxonomy : 'category';
81
+ $media_size = ! empty( $media_size ) ? $media_size : 'full'; // you can use thumbnail, medium, medium_large, large, full
82
+ $exclude_post = ! empty( $hide_post ) ? explode(',', $hide_post) : array();
83
+ $posts = ! empty( $posts ) ? explode(',', $posts) : array();
84
  $lazyload = ( $lazyload == 'ondemand' || $lazyload == 'progressive' ) ? $lazyload : ''; // ondemand or progressive
85
+ $align = ! empty( $align ) ? 'align'.$align : '';
86
  $extra_class = $extra_class .' '. $align .' '. $className;
87
  $extra_class = wppsac_sanitize_html_classes( $extra_class );
88
+
89
  // For RTL
90
+ if( empty( $rtl ) && is_rtl() ) {
91
  $rtl = 'true';
92
  } elseif ( $rtl == 'true' ) {
93
  $rtl = 'true';
98
  // Shortcode file
99
  $design_file_path = WPRPS_DIR . '/templates/slider/' . $design . '.php';
100
  $design_file = (file_exists($design_file_path)) ? $design_file_path : '';
101
+
102
  // Enqueus required script
103
  wp_enqueue_script( 'wpos-slick-jquery' );
104
  wp_enqueue_script( 'wppsac-public-script' );
105
+
106
  // Slider configuration
107
  $slider_conf = compact('dots', 'arrows', 'autoplay', 'autoplay_interval','speed', 'rtl', 'lazyload');
108
+
109
  // Taking some global
110
  global $post;
111
+
112
  ob_start();
113
+
114
  // WP Query Parameters
115
  $args = array (
116
+ 'post_type' => $post_type,
117
+ 'post_status' => array( 'publish' ),
118
+ 'orderby' => 'date',
119
+ 'order' => 'DESC',
120
+ 'posts_per_page' => $posts_per_page,
121
+ 'post__in' => $posts,
122
+ 'post__not_in' => $exclude_post,
123
  );
124
 
125
  // Category Parameter
126
+ if( $cat != "" ) {
127
 
128
  $args['tax_query'] = array(
129
+ array(
130
+ 'taxonomy' => $taxonomy,
131
+ 'field' => 'term_id',
132
+ 'terms' => $cat,
133
+ )
134
+ );
135
  }
136
 
137
+ $query = new WP_Query( $args );
138
  $post_count = $query->post_count;
139
+
140
  if ( $query->have_posts() ) :
141
  ?>
142
  <div class="wppsac-slick-slider-wrp wppsac-clearfix <?php echo $extra_class; ?>">
143
+ <div id="wppsac-post-slider-<?php echo $unique; ?>" class="wppsac-post-slider-init wppsac-post-slider <?php echo $design; ?>">
144
  <?php
145
  while ( $query->have_posts() ) : $query->the_post();
146
+ $post_id = isset( $post->ID ) ? $post->ID : '';
147
  $cat_list = wppsac_get_category_list($post->ID, $taxonomy);
148
+ $feat_image = wppsac_get_post_featured_image( $post->ID, $media_size, true );
149
  if( $design_file ) {
150
  include( $design_file );
151
  }
includes/wppsac-function.php CHANGED
@@ -6,8 +6,9 @@
6
  * @since 1.0.0
7
  */
8
 
9
- // Exit if accessed directly
10
- if ( !defined( 'ABSPATH' ) ) exit;
 
11
 
12
  /**
13
  * Function to get plugin image sizes array
@@ -16,10 +17,17 @@ if ( !defined( 'ABSPATH' ) ) exit;
16
  * @since 1.2.2
17
  */
18
  function wppsac_get_unique() {
19
- static $unique = 0;
20
- $unique++;
 
 
 
 
 
 
 
21
 
22
- return $unique;
23
  }
24
 
25
  /**
@@ -29,10 +37,10 @@ function wppsac_get_unique() {
29
  * @since 1.2.5
30
  */
31
  function wppsac_get_post_featured_image( $post_id = '', $size = 'full') {
32
- $size = !empty($size) ? $size : 'full';
33
  $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), $size );
34
 
35
- if( !empty($image) ) {
36
  $image = isset($image[0]) ? $image[0] : '';
37
  }
38
  return $image;
@@ -48,7 +56,7 @@ function wppsac_get_category_list( $post_id = 0, $taxonomy = '' ) {
48
  $output = '';
49
  $terms = get_the_terms( $post_id, $taxonomy );
50
 
51
- if( $terms && !is_wp_error($terms) && !empty($taxonomy) ) {
52
  $output .= '<ul class="wppsac-post-categories-list">';
53
  foreach ( $terms as $term ) {
54
  $output .= '<li><a href="'.get_term_link($term).'" rel="'.$taxonomy.'"> '.$term->name.' </a></li>';
@@ -68,11 +76,11 @@ function wppsac_get_category_list( $post_id = 0, $taxonomy = '' ) {
68
  function wppsac_sanitize_html_classes($classes, $sep = " ") {
69
  $return = "";
70
 
71
- if( !is_array($classes) ) {
72
  $classes = explode($sep, $classes);
73
  }
74
 
75
- if( !empty($classes) ) {
76
  foreach($classes as $class){
77
  $return .= sanitize_html_class($class) . " ";
78
  }
@@ -90,10 +98,10 @@ function wppsac_sanitize_html_classes($classes, $sep = " ") {
90
  */
91
  function wppsac_slider_designs() {
92
  $design_arr = array(
93
- 'design-1' => __('Design 1', 'wp-responsive-recent-post-slider'),
94
- 'design-2' => __('Design 2', 'wp-responsive-recent-post-slider'),
95
- 'design-3' => __('Design 3', 'wp-responsive-recent-post-slider'),
96
- 'design-4' => __('Design 4', 'wp-responsive-recent-post-slider'),
97
  );
98
  return apply_filters('wppsac_slider_designs', $design_arr );
99
  }
@@ -106,7 +114,7 @@ function wppsac_slider_designs() {
106
  */
107
  function wppsac_carousel_designs() {
108
  $design_arr = array(
109
- 'design-1' => __('Design 1', 'wp-responsive-recent-post-slider'),
110
  );
111
  return apply_filters('wppsac_carousel_designs', $design_arr );
112
  }
@@ -119,11 +127,11 @@ function wppsac_carousel_designs() {
119
  */
120
  function wppsac_add_array(&$array, $value, $index, $from_last = false) {
121
 
122
- if( is_array($array) && is_array($value) ) {
123
 
124
  if( $from_last ) {
125
  $total_count = count($array);
126
- $index = (!empty($total_count) && ($total_count > $index)) ? ($total_count-$index): $index;
127
  }
128
 
129
  $split_arr = array_splice($array, max(0, $index));
@@ -139,7 +147,7 @@ function wppsac_add_array(&$array, $value, $index, $from_last = false) {
139
  * @since 1.2.5
140
  */
141
  function wprps_limit_words($string, $word_limit) {
142
- if( !empty($string) ) {
143
  $content = strip_shortcodes( $string ); // Strip shortcodes
144
  $content = wp_trim_words( $string, $word_limit, '...' );
145
  return $content;
6
  * @since 1.0.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
 
13
  /**
14
  * Function to get plugin image sizes array
17
  * @since 1.2.2
18
  */
19
  function wppsac_get_unique() {
20
+ static $unique = 0;
21
+ $unique++;
22
+
23
+ // For Elementor & Beaver Builder
24
+ if( ( defined('ELEMENTOR_PLUGIN_BASE') && isset( $_POST['action'] ) && $_POST['action'] == 'elementor_ajax' )
25
+ || ( class_exists('FLBuilderModel') && ! empty( $_POST['fl_builder_data']['action'] ) )
26
+ || ( function_exists('vc_is_inline') && vc_is_inline() ) ) {
27
+ $unique = current_time('timestamp') . '-' . rand();
28
+ }
29
 
30
+ return $unique;
31
  }
32
 
33
  /**
37
  * @since 1.2.5
38
  */
39
  function wppsac_get_post_featured_image( $post_id = '', $size = 'full') {
40
+ $size = ! empty( $size ) ? $size : 'full';
41
  $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), $size );
42
 
43
+ if( ! empty( $image ) ) {
44
  $image = isset($image[0]) ? $image[0] : '';
45
  }
46
  return $image;
56
  $output = '';
57
  $terms = get_the_terms( $post_id, $taxonomy );
58
 
59
+ if( $terms && ! is_wp_error( $terms ) && ! empty( $taxonomy ) ) {
60
  $output .= '<ul class="wppsac-post-categories-list">';
61
  foreach ( $terms as $term ) {
62
  $output .= '<li><a href="'.get_term_link($term).'" rel="'.$taxonomy.'"> '.$term->name.' </a></li>';
76
  function wppsac_sanitize_html_classes($classes, $sep = " ") {
77
  $return = "";
78
 
79
+ if( ! is_array( $classes ) ) {
80
  $classes = explode($sep, $classes);
81
  }
82
 
83
+ if( ! empty( $classes ) ) {
84
  foreach($classes as $class){
85
  $return .= sanitize_html_class($class) . " ";
86
  }
98
  */
99
  function wppsac_slider_designs() {
100
  $design_arr = array(
101
+ 'design-1' => __('Design 1', 'wp-responsive-recent-post-slider'),
102
+ 'design-2' => __('Design 2', 'wp-responsive-recent-post-slider'),
103
+ 'design-3' => __('Design 3', 'wp-responsive-recent-post-slider'),
104
+ 'design-4' => __('Design 4', 'wp-responsive-recent-post-slider'),
105
  );
106
  return apply_filters('wppsac_slider_designs', $design_arr );
107
  }
114
  */
115
  function wppsac_carousel_designs() {
116
  $design_arr = array(
117
+ 'design-1' => __('Design 1', 'wp-responsive-recent-post-slider'),
118
  );
119
  return apply_filters('wppsac_carousel_designs', $design_arr );
120
  }
127
  */
128
  function wppsac_add_array(&$array, $value, $index, $from_last = false) {
129
 
130
+ if( is_array( $array ) && is_array( $value ) ) {
131
 
132
  if( $from_last ) {
133
  $total_count = count($array);
134
+ $index = ( ! empty( $total_count ) && ( $total_count > $index ) ) ? ( $total_count - $index ): $index;
135
  }
136
 
137
  $split_arr = array_splice($array, max(0, $index));
147
  * @since 1.2.5
148
  */
149
  function wprps_limit_words($string, $word_limit) {
150
+ if( ! empty( $string ) ) {
151
  $content = strip_shortcodes( $string ); // Strip shortcodes
152
  $content = wp_trim_words( $string, $word_limit, '...' );
153
  return $content;
languages/wp-responsive-recent-post-slider.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: WP Responsive Recent Post Slider/Carousel\n"
5
  "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2020-07-14 11:52+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
@@ -15,310 +15,711 @@ msgstr ""
15
  "X-Generator: Loco https://localise.biz/\n"
16
  "X-Loco-Version: 2.4.0; wp-5.3.4"
17
 
18
- #: includes/admin/wprps-how-it-work.php:242
19
- msgid "100% Multi language"
 
20
  msgstr ""
21
 
22
- #: includes/admin/wprps-how-it-work.php:234
23
- msgid "3 Widgets (Post slider, Post List/Slider-1, Post List/Slider-2)"
 
 
 
 
24
  msgstr ""
25
 
26
- #: includes/admin/wprps-how-it-work.php:260
27
- msgid "5 stars!"
 
28
  msgstr ""
29
 
30
- #: includes/admin/wprps-how-it-work.php:230
31
- msgid "60+ designs"
32
  msgstr ""
33
 
34
- #. Description of the plugin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  msgid ""
36
- "Add and display Responsive WordPresss Recent Post Slider and Carousel on "
37
- "your website with 4 designs (Slider) and 1 designs (Carousel) using a "
38
- "shortcode. Also added Gutenberg block support."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  msgstr ""
40
 
41
- #: includes/admin/wprps-how-it-work.php:193
42
  msgid "All Shortcodes"
43
  msgstr ""
44
 
45
- #: includes/admin/settings/hire-us.php:22
46
- msgid "Any sort of WP work with no extra cost"
47
  msgstr ""
48
 
49
- #: templates/carousel/design-1.php:31 templates/slider/design-1.php:25
50
- #: templates/slider/design-2.php:27 templates/slider/design-3.php:33
51
- #: templates/slider/design-4.php:35
52
- msgid "By"
53
  msgstr ""
54
 
55
- #: includes/admin/class-wprps-admin.php:80
56
- msgid "Category ID"
57
  msgstr ""
58
 
59
- #: includes/admin/wprps-how-it-work.php:206
60
- msgid "Check plugin document for shortcode parameters and demo for designs."
61
  msgstr ""
62
 
63
- #: includes/admin/wprps-how-it-work.php:236
64
- msgid "Custom CSS option"
 
 
 
 
 
 
 
 
 
 
65
  msgstr ""
66
 
67
- #: includes/admin/settings/hire-us.php:23
68
- msgid "Dedicated expert working only for you!"
69
  msgstr ""
70
 
71
- #: includes/admin/wprps-how-it-work.php:208
 
 
 
 
 
 
 
 
72
  msgid "Demo for Designs"
73
  msgstr ""
74
 
75
- #: includes/wppsac-function.php:93 includes/wppsac-function.php:109
76
- msgid "Design 1"
77
  msgstr ""
78
 
79
- #: includes/wppsac-function.php:94
80
- msgid "Design 2"
81
  msgstr ""
82
 
83
- #: includes/wppsac-function.php:95
84
- msgid "Design 3"
85
  msgstr ""
86
 
87
- #: includes/wppsac-function.php:96
88
- msgid "Design 4"
89
  msgstr ""
90
 
91
- #: includes/admin/wprps-how-it-work.php:207
92
- msgid "Documentation"
 
 
 
 
 
 
 
 
 
 
 
 
93
  msgstr ""
94
 
95
- #: includes/admin/wprps-how-it-work.php:235
 
 
 
 
96
  msgid "Drag & Drop order change"
97
  msgstr ""
98
 
99
- #: includes/admin/wprps-how-it-work.php:260
100
- msgid "Enjoyed this plugin? You can help by rate this plugin "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  msgstr ""
102
 
103
  #: includes/admin/wprps-how-it-work.php:173
104
- msgid "Featured Post"
105
  msgstr ""
106
 
107
- #: includes/admin/wprps-how-it-work.php:241
 
 
 
 
108
  msgid "Fully responsive"
109
  msgstr ""
110
 
111
- #: includes/admin/wprps-how-it-work.php:244
 
 
 
 
112
  msgid ""
113
  "Gain access to <strong>Responsive Recent Post Slider</strong> included in "
114
  "<br /><strong>Essential Plugin Bundle"
115
  msgstr ""
116
 
117
- #: includes/admin/wprps-how-it-work.php:167
118
- msgid "Geeting Started with Post Slider"
119
  msgstr ""
120
 
121
- #: includes/admin/wprps-how-it-work.php:245
122
- msgid "Go Premium "
123
  msgstr ""
124
 
125
- #: includes/admin/wprps-how-it-work.php:237
126
- msgid "Gutenberg Block Supports"
 
 
127
  msgstr ""
128
 
129
- #: includes/admin/wprps-how-it-work.php:257
130
- msgid "Help to improve this plugin!"
 
 
 
131
  msgstr ""
132
 
133
- #: includes/admin/settings/hire-us.php:18
134
- msgid "Highlight of Hiring:"
135
  msgstr ""
136
 
137
- #: includes/admin/settings/hire-us.php:20
138
- msgid "Hire once, get unlimited jobs done"
139
  msgstr ""
140
 
141
- #: includes/admin/class-wprps-admin.php:43
142
- #: includes/admin/settings/hire-us.php:84
143
- #: includes/admin/settings/hire-us.php:85
144
- #: includes/admin/settings/hire-us.php:86
145
- #: includes/admin/settings/hire-us.php:87
146
- msgid "Hire Us"
147
  msgstr ""
148
 
149
- #: includes/admin/settings/hire-us.php:15
150
- msgid "Hire Us - Get unlimited expert WordPress Support and Development"
151
  msgstr ""
152
 
153
- #: includes/admin/settings/hire-us.php:63
154
- msgid "Hire us for 1 Hr"
155
  msgstr ""
156
 
157
- #: includes/admin/settings/hire-us.php:71
158
- msgid "Hire us for 30 Hrs"
159
  msgstr ""
160
 
161
- #: includes/admin/settings/hire-us.php:67
162
- msgid "Hire us for 5 Hrs"
163
  msgstr ""
164
 
165
- #: includes/admin/settings/hire-us.php:76
166
- msgid "Hire us for 70 Hrs"
167
  msgstr ""
168
 
169
- #: includes/admin/wprps-how-it-work.php:119
170
- msgid "How It Works"
171
  msgstr ""
172
 
173
- #: includes/admin/wprps-how-it-work.php:159
174
- msgid "How It Works - Display and Shortcode"
175
  msgstr ""
176
 
177
- #: includes/admin/wprps-how-it-work.php:181
178
- msgid "How Shortcode Works"
179
  msgstr ""
180
 
181
- #. Author URI of the plugin
182
- msgid "https://www.wponlinesupport.com/"
183
  msgstr ""
184
 
185
- #. URI of the plugin
186
- msgid "https://www.wponlinesupport.com/plugins/"
187
  msgstr ""
188
 
189
- #: wp-recent-post-slider.php:137
190
- #, php-format
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191
  msgid ""
192
- "It looks like you had PRO version %s of this plugin activated. To avoid "
193
- "conflicts the extra version has been deactivated and we recommend you delete "
194
- "it."
195
  msgstr ""
196
 
197
- #: includes/admin/wprps-how-it-work.php:203
198
- msgid "Need Support?"
199
  msgstr ""
200
 
201
- #: includes/admin/settings/hire-us.php:73
202
- msgid "Our most valuable package!"
 
 
203
  msgstr ""
204
 
205
- #: includes/admin/wprps-how-it-work.php:122
206
- msgid "Our Plugins"
207
  msgstr ""
208
 
209
- #: includes/admin/wprps-how-it-work.php:197
210
- msgid "Post carousel Shortcode. Where you can use 1 designs."
211
  msgstr ""
212
 
213
- #: includes/admin/wprps-how-it-work.php:196
214
- msgid "Post slider Shortcode. Where you can use 4 designs."
215
  msgstr ""
216
 
217
- #: includes/admin/settings/hire-us.php:21
218
- msgid "Quick ticket support, quick solution"
219
  msgstr ""
220
 
221
- #: templates/carousel/design-1.php:50 templates/slider/design-1.php:45
222
- #: templates/slider/design-2.php:46 templates/slider/design-3.php:53
223
- #: templates/slider/design-4.php:54
224
- msgid "Read More"
225
  msgstr ""
226
 
227
- #: includes/admin/wprps-how-it-work.php:233
228
- msgid "Recent gridbox slider with 8 designs"
229
  msgstr ""
230
 
231
- #: includes/admin/wprps-how-it-work.php:232
232
- msgid "Recent Post Carousel with 30 designs"
233
  msgstr ""
234
 
235
- #: includes/admin/wprps-how-it-work.php:23
236
- msgid "Recent Post Slider"
237
  msgstr ""
238
 
239
- #: includes/admin/wprps-how-it-work.php:231
240
- msgid "Recent Post Slider with 25 designs"
241
  msgstr ""
242
 
243
- #: includes/admin/wprps-how-it-work.php:240
244
- msgid "Slider RTL support"
245
  msgstr ""
246
 
247
- #: includes/admin/wprps-how-it-work.php:185
248
- msgid "Step-1. Create a page like Latet Post OR add the shortcode in a page."
249
  msgstr ""
250
 
251
- #: includes/admin/wprps-how-it-work.php:171
252
- msgid "Step-1. This plugin create a menu \"Recent Post Slider\"."
253
  msgstr ""
254
 
255
- #: includes/admin/wprps-how-it-work.php:186
256
- msgid "Step-2. Put below shortcode as per your need."
257
  msgstr ""
258
 
259
- #: includes/admin/wprps-how-it-work.php:172
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
260
  msgid ""
261
- "Step-2. This plugin get all the latest POST from WordPress Post section with "
262
- "a simple shortcode"
263
  msgstr ""
264
 
265
- #: includes/admin/wprps-how-it-work.php:173
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
266
  msgid ""
267
- "Step-3. If you need a <b>Featured Post</b> OR <b>Trending/Popular Post</b> "
268
- "plugin then try our plugins"
269
  msgstr ""
270
 
271
- #: wp-recent-post-slider.php:136
272
- #, php-format
273
- msgid "Thank you for activating %s"
274
  msgstr ""
275
 
276
- #: includes/admin/wprps-how-it-work.php:104
 
 
 
 
277
  msgid ""
278
- "There was an error retrieving the data from the server. Please try again "
279
- "later."
280
  msgstr ""
281
 
282
- #: includes/admin/wprps-how-it-work.php:173
283
- msgid "Trending/Popular Post"
284
  msgstr ""
285
 
286
- #: includes/admin/class-wprps-admin.php:41
287
- msgid "Upgrade to PRO"
288
  msgstr ""
289
 
290
- #: includes/admin/class-wprps-admin.php:41
291
- msgid "Upgrade to PRO - Recent Post Slider"
292
  msgstr ""
293
 
294
- #: includes/admin/wprps-how-it-work.php:226
295
- msgid "Upgrate to Pro"
296
  msgstr ""
297
 
298
- #: includes/admin/wprps-how-it-work.php:246
299
- msgid "View PRO Demo "
 
300
  msgstr ""
301
 
302
- #: includes/admin/wprps-how-it-work.php:238
303
- msgid "Visual Composer Support"
304
  msgstr ""
305
 
306
- #. Author of the plugin
307
- msgid "WP OnlineSupport"
 
308
  msgstr ""
309
 
310
- #: includes/admin/settings/premium.php:15
311
- msgid "WP Responsive Recent Post Slider - Features"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
312
  msgstr ""
313
 
314
  #. Name of the plugin
315
  msgid "WP Responsive Recent Post Slider/Carousel"
316
  msgstr ""
317
 
318
- #: includes/admin/wprps-how-it-work.php:239
319
- msgid "WP Templating Features"
 
 
 
320
  msgstr ""
321
 
322
- #: includes/admin/supports/gutenberg-block.php:277
323
- msgid "WPOS Blocks"
 
 
 
 
 
 
 
 
324
  msgstr ""
3
  msgstr ""
4
  "Project-Id-Version: WP Responsive Recent Post Slider/Carousel\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2020-10-22 11:21+0000\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
  "Language-Team: \n"
15
  "X-Generator: Loco https://localise.biz/\n"
16
  "X-Loco-Version: 2.4.0; wp-5.3.4"
17
 
18
+ #: wp-recent-post-slider.php:136
19
+ #, php-format
20
+ msgid "Thank you for activating %s"
21
  msgstr ""
22
 
23
+ #: wp-recent-post-slider.php:137
24
+ #, php-format
25
+ msgid ""
26
+ "It looks like you had PRO version %s of this plugin activated. To avoid "
27
+ "conflicts the extra version has been deactivated and we recommend you delete "
28
+ "it."
29
  msgstr ""
30
 
31
+ #: includes/wppsac-function.php:93 includes/wppsac-function.php:109
32
+ #: assets/js/blocks.build.js:1 assets/js/blocks.build.js:1
33
+ msgid "Design 1"
34
  msgstr ""
35
 
36
+ #: includes/wppsac-function.php:94 assets/js/blocks.build.js:1
37
+ msgid "Design 2"
38
  msgstr ""
39
 
40
+ #: includes/wppsac-function.php:95 assets/js/blocks.build.js:1
41
+ msgid "Design 3"
42
+ msgstr ""
43
+
44
+ #: includes/wppsac-function.php:96 assets/js/blocks.build.js:1
45
+ msgid "Design 4"
46
+ msgstr ""
47
+
48
+ #: includes/admin/class-wprps-admin.php:41 assets/js/blocks.build.js:1
49
+ msgid "Recent Post Slider"
50
+ msgstr ""
51
+
52
+ #: includes/admin/class-wprps-admin.php:44
53
+ msgid "Upgrade to PRO - Recent Post Slider"
54
+ msgstr ""
55
+
56
+ #: includes/admin/class-wprps-admin.php:44
57
+ msgid "Upgrade to PRO"
58
+ msgstr ""
59
+
60
+ #: includes/admin/class-wprps-admin.php:86
61
+ msgid "Category ID"
62
+ msgstr ""
63
+
64
+ #: includes/admin/wprps-how-it-work.php:37
65
+ msgid "How It Works - Display and shortcode"
66
+ msgstr ""
67
+
68
+ #: includes/admin/wprps-how-it-work.php:46
69
+ msgid "Geeting Started with Post Slider"
70
+ msgstr ""
71
+
72
+ #: includes/admin/wprps-how-it-work.php:50
73
+ msgid "Step-1. This plugin create a menu \"Recent Post Slider\"."
74
+ msgstr ""
75
+
76
+ #: includes/admin/wprps-how-it-work.php:51
77
  msgid ""
78
+ "Step-2. This plugin get all the latest POST from WordPress Post section with "
79
+ "a simple shortcode"
80
+ msgstr ""
81
+
82
+ #: includes/admin/wprps-how-it-work.php:52
83
+ msgid ""
84
+ "Step-3. If you need a <b>Featured Post</b> OR <b>Trending/Popular Post</b> "
85
+ "plugin then try our plugins"
86
+ msgstr ""
87
+
88
+ #: includes/admin/wprps-how-it-work.php:52
89
+ msgid "Featured Post"
90
+ msgstr ""
91
+
92
+ #: includes/admin/wprps-how-it-work.php:52
93
+ msgid "Trending/Popular Post"
94
+ msgstr ""
95
+
96
+ #: includes/admin/wprps-how-it-work.php:60
97
+ msgid "How Shortcode Works"
98
+ msgstr ""
99
+
100
+ #: includes/admin/wprps-how-it-work.php:64
101
+ msgid "Step-1. Create a page like Latet Post OR add the shortcode in a page."
102
+ msgstr ""
103
+
104
+ #: includes/admin/wprps-how-it-work.php:65
105
+ msgid "Step-2. Put below shortcode as per your need."
106
  msgstr ""
107
 
108
+ #: includes/admin/wprps-how-it-work.php:72
109
  msgid "All Shortcodes"
110
  msgstr ""
111
 
112
+ #: includes/admin/wprps-how-it-work.php:75
113
+ msgid "Post slider Shortcode. Where you can use 4 designs."
114
  msgstr ""
115
 
116
+ #: includes/admin/wprps-how-it-work.php:76
117
+ msgid "Post carousel Shortcode. Where you can use 1 designs."
 
 
118
  msgstr ""
119
 
120
+ #: includes/admin/wprps-how-it-work.php:90
121
+ msgid "Gutenberg Support"
122
  msgstr ""
123
 
124
+ #: includes/admin/wprps-how-it-work.php:98
125
+ msgid "How it Work"
126
  msgstr ""
127
 
128
+ #: includes/admin/wprps-how-it-work.php:102
129
+ msgid "Step-1. Go to the Gutenberg editor of your page."
130
+ msgstr ""
131
+
132
+ #: includes/admin/wprps-how-it-work.php:103
133
+ msgid "Step-2. Search \"recent\" keyword in the gutenberg block list."
134
+ msgstr ""
135
+
136
+ #: includes/admin/wprps-how-it-work.php:104
137
+ msgid ""
138
+ "Step-3. Add any block of recent and you will find its relative options on "
139
+ "the right end side."
140
  msgstr ""
141
 
142
+ #: includes/admin/wprps-how-it-work.php:118
143
+ msgid "Need Support?"
144
  msgstr ""
145
 
146
+ #: includes/admin/wprps-how-it-work.php:126
147
+ msgid "Check plugin document for shortcode parameters and demo for designs."
148
+ msgstr ""
149
+
150
+ #: includes/admin/wprps-how-it-work.php:127
151
+ msgid "Documentation"
152
+ msgstr ""
153
+
154
+ #: includes/admin/wprps-how-it-work.php:128
155
  msgid "Demo for Designs"
156
  msgstr ""
157
 
158
+ #: includes/admin/wprps-how-it-work.php:142
159
+ msgid "Help to improve this plugin!"
160
  msgstr ""
161
 
162
+ #: includes/admin/wprps-how-it-work.php:146
163
+ msgid "Enjoyed this plugin? You can help by rate this plugin "
164
  msgstr ""
165
 
166
+ #: includes/admin/wprps-how-it-work.php:146
167
+ msgid "5 stars!"
168
  msgstr ""
169
 
170
+ #: includes/admin/wprps-how-it-work.php:159
171
+ msgid "Upgrate to Pro"
172
  msgstr ""
173
 
174
+ #: includes/admin/wprps-how-it-work.php:163
175
+ msgid "60+ designs"
176
+ msgstr ""
177
+
178
+ #: includes/admin/wprps-how-it-work.php:164
179
+ msgid "Recent Post Slider with 25 designs"
180
+ msgstr ""
181
+
182
+ #: includes/admin/wprps-how-it-work.php:165
183
+ msgid "Recent Post Carousel with 30 designs"
184
+ msgstr ""
185
+
186
+ #: includes/admin/wprps-how-it-work.php:166
187
+ msgid "Recent gridbox slider with 8 designs"
188
  msgstr ""
189
 
190
+ #: includes/admin/wprps-how-it-work.php:167
191
+ msgid "3 Widgets (Post slider, Post List/Slider-1, Post List/Slider-2)"
192
+ msgstr ""
193
+
194
+ #: includes/admin/wprps-how-it-work.php:168
195
  msgid "Drag & Drop order change"
196
  msgstr ""
197
 
198
+ #: includes/admin/wprps-how-it-work.php:169
199
+ msgid "Custom CSS option"
200
+ msgstr ""
201
+
202
+ #: includes/admin/wprps-how-it-work.php:170
203
+ msgid "WPBakery Page Builder Supports"
204
+ msgstr ""
205
+
206
+ #: includes/admin/wprps-how-it-work.php:171
207
+ msgid ""
208
+ "Gutenberg, Elementor, Bevear and SiteOrigin Page Builder Support. <span "
209
+ "class=\"wpos-new-feature\">New</span>"
210
+ msgstr ""
211
+
212
+ #: includes/admin/wprps-how-it-work.php:172
213
+ msgid ""
214
+ "Divi Page Builder Native Support. <span class=\"wpos-new-feature\">New</span>"
215
  msgstr ""
216
 
217
  #: includes/admin/wprps-how-it-work.php:173
218
+ msgid "WP Templating Features"
219
  msgstr ""
220
 
221
+ #: includes/admin/wprps-how-it-work.php:174
222
+ msgid "Slider RTL support"
223
+ msgstr ""
224
+
225
+ #: includes/admin/wprps-how-it-work.php:175
226
  msgid "Fully responsive"
227
  msgstr ""
228
 
229
+ #: includes/admin/wprps-how-it-work.php:176
230
+ msgid "100% Multi language"
231
+ msgstr ""
232
+
233
+ #: includes/admin/wprps-how-it-work.php:178
234
  msgid ""
235
  "Gain access to <strong>Responsive Recent Post Slider</strong> included in "
236
  "<br /><strong>Essential Plugin Bundle"
237
  msgstr ""
238
 
239
+ #: includes/admin/wprps-how-it-work.php:179
240
+ msgid "Go Premium "
241
  msgstr ""
242
 
243
+ #: includes/admin/wprps-how-it-work.php:180
244
+ msgid "View PRO Demo "
245
  msgstr ""
246
 
247
+ #: templates/carousel/design-1.php:31 templates/slider/design-1.php:25
248
+ #: templates/slider/design-2.php:27 templates/slider/design-3.php:33
249
+ #: templates/slider/design-4.php:35
250
+ msgid "By"
251
  msgstr ""
252
 
253
+ #: templates/carousel/design-1.php:50 templates/slider/design-1.php:45
254
+ #: templates/slider/design-2.php:46 templates/slider/design-3.php:53
255
+ #: templates/slider/design-4.php:54 assets/js/blocks.build.js:1
256
+ #: assets/js/blocks.build.js:1
257
+ msgid "Read More"
258
  msgstr ""
259
 
260
+ #: includes/admin/settings/premium.php:15
261
+ msgid "WP Responsive Recent Post Slider - Features"
262
  msgstr ""
263
 
264
+ #: includes/admin/supports/gutenberg-block.php:277
265
+ msgid "WPOS Blocks"
266
  msgstr ""
267
 
268
+ #: assets/js/blocks.build.js:1
269
+ msgid "Display recent post in a slider view with various layouts."
 
 
 
 
270
  msgstr ""
271
 
272
+ #: assets/js/blocks.build.js:1
273
+ msgid "recent post slider"
274
  msgstr ""
275
 
276
+ #: assets/js/blocks.build.js:1
277
+ msgid "Recent Carousel Slider"
278
  msgstr ""
279
 
280
+ #: assets/js/blocks.build.js:1
281
+ msgid "Display recent post in a carousel slider view with various layouts."
282
  msgstr ""
283
 
284
+ #: assets/js/blocks.build.js:1
285
+ msgid "recent carousel slider"
286
  msgstr ""
287
 
288
+ #: assets/js/blocks.build.js:1
289
+ msgid "True"
290
  msgstr ""
291
 
292
+ #: assets/js/blocks.build.js:1
293
+ msgid "False"
294
  msgstr ""
295
 
296
+ #: assets/js/blocks.build.js:1
297
+ msgid "Same Window"
298
  msgstr ""
299
 
300
+ #: assets/js/blocks.build.js:1
301
+ msgid "Post Date"
302
  msgstr ""
303
 
304
+ #: assets/js/blocks.build.js:1
305
+ msgid "Descending"
306
  msgstr ""
307
 
308
+ #: assets/js/blocks.build.js:1
309
+ msgid "Select Lazyload"
310
  msgstr ""
311
 
312
+ #: assets/js/blocks.build.js:1
313
+ msgid "Ondemand"
314
+ msgstr ""
315
+
316
+ #: assets/js/blocks.build.js:1
317
+ msgid "Progressive"
318
+ msgstr ""
319
+
320
+ #: assets/js/blocks.build.js:1
321
+ msgid "General Parameters"
322
+ msgstr ""
323
+
324
+ #: assets/js/blocks.build.js:1
325
+ msgid "Design"
326
+ msgstr ""
327
+
328
+ #: assets/js/blocks.build.js:1
329
+ msgid "Show Date"
330
+ msgstr ""
331
+
332
+ #: assets/js/blocks.build.js:1
333
+ msgid "Show Author"
334
+ msgstr ""
335
+
336
+ #: assets/js/blocks.build.js:1
337
+ msgid "Show Category Name"
338
+ msgstr ""
339
+
340
+ #: assets/js/blocks.build.js:1
341
+ msgid "Show Content"
342
+ msgstr ""
343
+
344
+ #: assets/js/blocks.build.js:1
345
+ msgid "Content Words limit"
346
+ msgstr ""
347
+
348
+ #: assets/js/blocks.build.js:1
349
+ msgid "Enter content word limit."
350
+ msgstr ""
351
+
352
+ #: assets/js/blocks.build.js:1
353
+ msgid "Content Tail"
354
+ msgstr ""
355
+
356
+ #: assets/js/blocks.build.js:1
357
+ msgid "Display dots after the post content as continue reading. Upgarade to "
358
+ msgstr ""
359
+
360
+ #: assets/js/blocks.build.js:1
361
+ msgid "Premium version "
362
+ msgstr ""
363
+
364
+ #: assets/js/blocks.build.js:1
365
+ msgid "to get this option."
366
+ msgstr ""
367
+
368
+ #: assets/js/blocks.build.js:1
369
+ msgid "Read More Text"
370
+ msgstr ""
371
+
372
+ #: assets/js/blocks.build.js:1
373
+ msgid "Enter read more text. Upgarade to "
374
+ msgstr ""
375
+
376
+ #: assets/js/blocks.build.js:1
377
+ msgid "Link Behaviour"
378
+ msgstr ""
379
+
380
+ #: assets/js/blocks.build.js:1
381
+ msgid "Choose link target behaviour. Upgarade to "
382
+ msgstr ""
383
+
384
+ #: assets/js/blocks.build.js:1
385
+ msgid "Media Size"
386
+ msgstr ""
387
+
388
+ #: assets/js/blocks.build.js:1
389
  msgid ""
390
+ "Choose WordPress registered image size. e.g thumbnail, medium, large, full."
 
 
391
  msgstr ""
392
 
393
+ #: assets/js/blocks.build.js:1
394
+ msgid "Image Height"
395
  msgstr ""
396
 
397
+ #: assets/js/blocks.build.js:1
398
+ msgid ""
399
+ "Control height of the featured image. You can enter any numeric number. e.g "
400
+ "500. Leave empty for default height. Upgarade to "
401
  msgstr ""
402
 
403
+ #: assets/js/blocks.build.js:1
404
+ msgid "Image Fit"
405
  msgstr ""
406
 
407
+ #: assets/js/blocks.build.js:1
408
+ msgid "Fill the post image in a whole container. Upgarade to "
409
  msgstr ""
410
 
411
+ #: assets/js/blocks.build.js:1
412
+ msgid "Slider Parameters"
413
  msgstr ""
414
 
415
+ #: assets/js/blocks.build.js:1
416
+ msgid "Dots"
417
  msgstr ""
418
 
419
+ #: assets/js/blocks.build.js:1
420
+ msgid "Show pagination dots."
 
 
421
  msgstr ""
422
 
423
+ #: assets/js/blocks.build.js:1
424
+ msgid "Arrows"
425
  msgstr ""
426
 
427
+ #: assets/js/blocks.build.js:1
428
+ msgid "Show prev - next arrows."
429
  msgstr ""
430
 
431
+ #: assets/js/blocks.build.js:1
432
+ msgid "Autoplay"
433
  msgstr ""
434
 
435
+ #: assets/js/blocks.build.js:1
436
+ msgid "Autoplay Interval"
437
  msgstr ""
438
 
439
+ #: assets/js/blocks.build.js:1
440
+ msgid "Enter autoplay interval speed."
441
  msgstr ""
442
 
443
+ #: assets/js/blocks.build.js:1
444
+ msgid "Speed"
445
  msgstr ""
446
 
447
+ #: assets/js/blocks.build.js:1
448
+ msgid "Enter slide speed."
449
  msgstr ""
450
 
451
+ #: assets/js/blocks.build.js:1
452
+ msgid "Fade"
453
  msgstr ""
454
 
455
+ #: assets/js/blocks.build.js:1
456
+ msgid "Enable fade effect. Upgarade to "
457
+ msgstr ""
458
+
459
+ #: assets/js/blocks.build.js:1
460
+ msgid "Loop"
461
+ msgstr ""
462
+
463
+ #: assets/js/blocks.build.js:1
464
+ msgid "Enable infinite loop for continuous sliding. Upgarade to "
465
+ msgstr ""
466
+
467
+ #: assets/js/blocks.build.js:1
468
+ msgid "Pause On Hover"
469
+ msgstr ""
470
+
471
+ #: assets/js/blocks.build.js:1
472
+ msgid "Pause slider autoplay on hover. Upgarade to "
473
+ msgstr ""
474
+
475
+ #: assets/js/blocks.build.js:1
476
+ msgid "Pause On Focus"
477
+ msgstr ""
478
+
479
+ #: assets/js/blocks.build.js:1
480
+ msgid "Pause slider autoplay when slider element is focused. Upgarade to "
481
+ msgstr ""
482
+
483
+ #: assets/js/blocks.build.js:1
484
+ msgid "Nav Slides"
485
+ msgstr ""
486
+
487
+ #: assets/js/blocks.build.js:1
488
  msgid ""
489
+ "Enter number of slider navigation column. Note: This parameter default work "
490
+ "with design-17, design-18, design-19, design-20. Upgarade to "
491
  msgstr ""
492
 
493
+ #: assets/js/blocks.build.js:1
494
+ msgid "Slider Lazyload"
495
+ msgstr ""
496
+
497
+ #: assets/js/blocks.build.js:1
498
+ msgid "Select option to use lazy loading in slider."
499
+ msgstr ""
500
+
501
+ #: assets/js/blocks.build.js:1
502
+ msgid "Query Parameters"
503
+ msgstr ""
504
+
505
+ #: assets/js/blocks.build.js:1
506
+ msgid "Post Type"
507
+ msgstr ""
508
+
509
+ #: assets/js/blocks.build.js:1
510
  msgid ""
511
+ "Note: Be sure you have added valid post type name otherwise no result will "
512
+ "be displayed."
513
  msgstr ""
514
 
515
+ #: assets/js/blocks.build.js:1
516
+ msgid ""
517
+ "Enter registered post type name. You can find it on plugin setting page."
518
  msgstr ""
519
 
520
+ #: assets/js/blocks.build.js:1
521
+ msgid "Taxonomy"
522
+ msgstr ""
523
+
524
+ #: assets/js/blocks.build.js:1
525
  msgid ""
526
+ "Note: Be sure you have added valid taxonomy name otherwise no result will be "
527
+ "displayed."
528
  msgstr ""
529
 
530
+ #: assets/js/blocks.build.js:1
531
+ msgid "Enter registered taxonomy name. You can find it on plugin setting page."
532
  msgstr ""
533
 
534
+ #: assets/js/blocks.build.js:1
535
+ msgid "Limit"
536
  msgstr ""
537
 
538
+ #: assets/js/blocks.build.js:1
539
+ msgid "Enter number of post to be displayed. Enter -1 to display all."
540
  msgstr ""
541
 
542
+ #: assets/js/blocks.build.js:1
543
+ msgid "Order By"
544
  msgstr ""
545
 
546
+ #: assets/js/blocks.build.js:1
547
+ msgid ""
548
+ "Choose option to set order of post by date, title, name etc.. Upgarade to "
549
  msgstr ""
550
 
551
+ #: assets/js/blocks.build.js:1
552
+ msgid "Order"
553
  msgstr ""
554
 
555
+ #: assets/js/blocks.build.js:1
556
+ msgid ""
557
+ "Choose option to set post in acesding and descending order. Upgarade to "
558
  msgstr ""
559
 
560
+ #: assets/js/blocks.build.js:1
561
+ msgid "Display Specific Category"
562
+ msgstr ""
563
+
564
+ #: assets/js/blocks.build.js:1
565
+ msgid ""
566
+ "You can pass multiple ids with comma seperated. You can find id at relevant "
567
+ "category listing page."
568
+ msgstr ""
569
+
570
+ #: assets/js/blocks.build.js:1
571
+ msgid "Enter category id to display categories wise."
572
+ msgstr ""
573
+
574
+ #: assets/js/blocks.build.js:1
575
+ msgid "Display Child Category"
576
+ msgstr ""
577
+
578
+ #: assets/js/blocks.build.js:1
579
+ msgid ""
580
+ "If you are using parent category then whether to display child category or "
581
+ "not. Upgarade to "
582
+ msgstr ""
583
+
584
+ #: assets/js/blocks.build.js:1
585
+ msgid "Exclude Category"
586
+ msgstr ""
587
+
588
+ #: assets/js/blocks.build.js:1
589
+ msgid ""
590
+ "Exclude post category. Works only if `Category` field is empty. You can pass "
591
+ "multiple ids with comma seperated. You can find id at relevant category "
592
+ "listing page. Upgarade to "
593
+ msgstr ""
594
+
595
+ #: assets/js/blocks.build.js:1
596
+ msgid "Display Specific Posts"
597
+ msgstr ""
598
+
599
+ #: assets/js/blocks.build.js:1
600
+ msgid ""
601
+ "You can pass multiple ids with comma seperated. You can find id at relevant "
602
+ "post listing page."
603
+ msgstr ""
604
+
605
+ #: assets/js/blocks.build.js:1
606
+ msgid "Enter id of the post which you want to display."
607
+ msgstr ""
608
+
609
+ #: assets/js/blocks.build.js:1
610
+ msgid "Exclude Post"
611
+ msgstr ""
612
+
613
+ #: assets/js/blocks.build.js:1
614
+ msgid "Enter id of the post which you do not want to display."
615
+ msgstr ""
616
+
617
+ #: assets/js/blocks.build.js:1
618
+ msgid "Include Author"
619
+ msgstr ""
620
+
621
+ #: assets/js/blocks.build.js:1
622
+ msgid ""
623
+ "Enter author id to display posts of particular author. You can pass multiple "
624
+ "ids with comma seperated. You can find id at users listing page. Upgarade to "
625
+ msgstr ""
626
+
627
+ #: assets/js/blocks.build.js:1
628
+ msgid "Exclude Author"
629
+ msgstr ""
630
+
631
+ #: assets/js/blocks.build.js:1
632
+ msgid ""
633
+ "Enter author id to hide post of particular author. Works only if `Include "
634
+ "Author` field is empty. You can pass multiple ids with comma seperated. You "
635
+ "can find id at relevant users listing page. Upgarade to "
636
+ msgstr ""
637
+
638
+ #: assets/js/blocks.build.js:1
639
+ msgid "Display Sticky Posts"
640
+ msgstr ""
641
+
642
+ #: assets/js/blocks.build.js:1
643
+ msgid ""
644
+ "Display sticky posts or not. Note: sticky posts only be displayed at front "
645
+ "side. Upgarade to "
646
+ msgstr ""
647
+
648
+ #: assets/js/blocks.build.js:1
649
+ msgid "Query Offset"
650
+ msgstr ""
651
+
652
+ #: assets/js/blocks.build.js:1
653
+ msgid ""
654
+ "Exclude number of posts from starting. e.g if you pass 5 then it will skip "
655
+ "first five post. Note: This will not work with limit=-1. Upgarade to "
656
+ msgstr ""
657
+
658
+ #: assets/js/blocks.build.js:1
659
+ msgid "WP Responsive Recent Post Slider/Carousel - Slider"
660
+ msgstr ""
661
+
662
+ #: assets/js/blocks.build.js:1
663
+ msgid "Do you want to check demo of this plugin."
664
+ msgstr ""
665
+
666
+ #: assets/js/blocks.build.js:1
667
+ msgid "Click here"
668
+ msgstr ""
669
+
670
+ #: assets/js/blocks.build.js:1
671
+ msgid "Do you also want to check premium version demo of this plugin."
672
+ msgstr ""
673
+
674
+ #: assets/js/blocks.build.js:1
675
+ msgid "Slide To Show"
676
+ msgstr ""
677
+
678
+ #: assets/js/blocks.build.js:1
679
+ msgid "Enter number for Slide to show at a time."
680
+ msgstr ""
681
+
682
+ #: assets/js/blocks.build.js:1
683
+ msgid "Slide To Scroll"
684
+ msgstr ""
685
+
686
+ #: assets/js/blocks.build.js:1
687
+ msgid "Enter number to scroll slider at a time."
688
+ msgstr ""
689
+
690
+ #: assets/js/blocks.build.js:1
691
+ msgid "Centermode"
692
+ msgstr ""
693
+
694
+ #: assets/js/blocks.build.js:1
695
+ msgid ""
696
+ "Enable centered view with partial prev/next slides. Use with odd numbered "
697
+ "`Slides to Scroll` and `Slider Column` counts. Upgarade to "
698
+ msgstr ""
699
+
700
+ #: assets/js/blocks.build.js:1
701
+ msgid "WP Responsive Recent Post Slider/Carousel - Carousel Slider"
702
  msgstr ""
703
 
704
  #. Name of the plugin
705
  msgid "WP Responsive Recent Post Slider/Carousel"
706
  msgstr ""
707
 
708
+ #. Description of the plugin
709
+ msgid ""
710
+ "Add and display Responsive WordPresss Recent Post Slider and Carousel on "
711
+ "your website with 4 designs (Slider) and 1 designs (Carousel) using a "
712
+ "shortcode. Also added Gutenberg block support."
713
  msgstr ""
714
 
715
+ #. URI of the plugin
716
+ msgid "https://www.wponlinesupport.com/plugins/"
717
+ msgstr ""
718
+
719
+ #. Author of the plugin
720
+ msgid "WP OnlineSupport"
721
+ msgstr ""
722
+
723
+ #. Author URI of the plugin
724
+ msgid "https://www.wponlinesupport.com/"
725
  msgstr ""
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Contributors: wponlinesupport, anoopranawat, pratik-jain
3
  Tags: post slider, posts slider, recent post slider, recent posts slider, slider, responsive post slider, responsive posts slider, responsive recent post slider, responsive recent posts slider, wordpress posts slider, post slideshow, posts slideshow, recent posts slideshow, shortcodes, wponlinesupport
4
  Requires at least: 4.0
5
- Tested up to: 5.5.1
6
  Stable tag: trunk
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -18,10 +18,12 @@ This plugin displays your recent WordPress posts using :
18
  * Posts Slider (4 designs),
19
  * Posts Carousel (1 designs)
20
 
21
- Check [Demo and Features](https://demo.wponlinesupport.com/recent-post-slider-demo/) for additional information.
22
 
23
  When you want to makeover your WordPress website theme with something extraordinary and creative, you must consider WP responsive recent post slider. Help your website to get a slide-wise display to show the recent posts/news. Not just eye appealing, it is also loved by the visitors as they find it quite easy to locate the recent posts.
24
 
 
 
25
  Display unlimited number of WordPresss posts slider and carousel in a single page or post with different sets of options like category, limit, navigation type.
26
 
27
  **Also added Gutenberg block support.**
@@ -114,10 +116,11 @@ Where designs are : design-1, design-2, design-3, design-4. You can use same par
114
  > * V1.3.4 Support WordPress default post as well as any custom post-type and taxonomy .
115
  > * Gutenberg Block Supports.
116
  > * Visual Composer Support.
 
 
 
117
  > * WP Templating Features.
118
- >
119
  > View [PRO DEMO and Features](https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/) for additional information.
120
- >
121
 
122
  = Features include: =
123
  * Added Gutenberg block support.
@@ -166,6 +169,27 @@ Where designs are : design-1, design-2, design-3, design-4. You can use same par
166
 
167
  == Changelog ==
168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  = 2.4 (14, Aug 2020) =
170
  * [*] jQuery( document ).ready(function($) is replaced with function( $ ) to solve the issue with 3rd party plugin and theme js error.
171
 
2
  Contributors: wponlinesupport, anoopranawat, pratik-jain
3
  Tags: post slider, posts slider, recent post slider, recent posts slider, slider, responsive post slider, responsive posts slider, responsive recent post slider, responsive recent posts slider, wordpress posts slider, post slideshow, posts slideshow, recent posts slideshow, shortcodes, wponlinesupport
4
  Requires at least: 4.0
5
+ Tested up to: 5.8
6
  Stable tag: trunk
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
18
  * Posts Slider (4 designs),
19
  * Posts Carousel (1 designs)
20
 
21
+ Check [Features and Demo](https://www.wponlinesupport.com/pricing/) for additional information.
22
 
23
  When you want to makeover your WordPress website theme with something extraordinary and creative, you must consider WP responsive recent post slider. Help your website to get a slide-wise display to show the recent posts/news. Not just eye appealing, it is also loved by the visitors as they find it quite easy to locate the recent posts.
24
 
25
+ You can also try our FREE plugin [Recent Posts Widget Designer](https://wordpress.org/plugins/recent-posts-widget-designer/) along with "Responsive Recent Post Slider/Carousel"
26
+
27
  Display unlimited number of WordPresss posts slider and carousel in a single page or post with different sets of options like category, limit, navigation type.
28
 
29
  **Also added Gutenberg block support.**
116
  > * V1.3.4 Support WordPress default post as well as any custom post-type and taxonomy .
117
  > * Gutenberg Block Supports.
118
  > * Visual Composer Support.
119
+ > * Gutenberg, Elementor, Beaver and SiteOrigin Page Builder Native Support (New).
120
+ > * Divi Page Builder Native Support (New).
121
+ > * Fusion Page Builder (Avada) Native Support (New).
122
  > * WP Templating Features.
 
123
  > View [PRO DEMO and Features](https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/) for additional information.
 
124
 
125
  = Features include: =
126
  * Added Gutenberg block support.
169
 
170
  == Changelog ==
171
 
172
+ = 2.7.1 (31, May 2021) =
173
+ * [*] Tested up to: 5.7.2
174
+ * [*] Added - https link in our analytics code to avoid browser security warning.
175
+
176
+ = 2.7 (15, March 2021) =
177
+ * [*] Tested up to: 5.7
178
+
179
+ = 2.6 (25, Jan 2021) =
180
+ * [+] New - Added native shortcode support for Elementor, SiteOrigin and Beaver builder.
181
+ * [+] New - Added Divi page builder native support.
182
+ * [+] New - Added Fusion Page Builder (Avada) native support.
183
+ * [*] Tweak - Code optimization and performance improvements.
184
+
185
+ = 2.5.1 (27, Oct 2020) =
186
+ * [*] Minor Update - Fixed conflict from tgmpa (theme pluign recommends - if your theme using tgmpa library) where it was showing message inside "How It Works - Display and shortcode"
187
+
188
+ = 2.5 (21, Oct 2020) =
189
+ * [+] New - Click to copy the shortcode from the getting started page.
190
+ * [*] Update - Regular plugin maintenance. Updated readme file.
191
+ * [*] Added - Added our other Popular Plugins under Recent Post Slider --> Install Popular Plugins From WPOS. This will help you to save your time during creating a website.
192
+
193
  = 2.4 (14, Aug 2020) =
194
  * [*] jQuery( document ).ready(function($) is replaced with function( $ ) to solve the issue with 3rd party plugin and theme js error.
195
 
templates/carousel/design-1.php CHANGED
@@ -6,18 +6,19 @@
6
  * @since 1.0.0
7
  */
8
 
9
- // Exit if accessed directly
10
- if ( !defined( 'ABSPATH' ) ) exit;
 
11
  ?>
12
 
13
  <div class="wppsac-carousel-slides">
14
  <?php if( has_post_thumbnail() ) { ?>
15
  <div class="wppsac-post-image-bg">
16
  <a href="<?php the_permalink(); ?>">
17
- <img class="wppsac-post-image-bg" <?php if($lazyload) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
18
  </a>
19
  </div>
20
- <?php } ?>
21
  <div class="wppsac-post-content-position">
22
  <?php if( $showCategory ) { ?>
23
  <div class="wppsac-post-categories"><?php echo $cat_list; ?></div>
@@ -27,9 +28,9 @@ if ( !defined( 'ABSPATH' ) ) exit;
27
  </h2>
28
  <?php if( $showDate || $showAuthor ) { ?>
29
  <div class="wppsac-post-date">
30
- <?php if($showAuthor) { ?>
31
  <span><?php esc_html_e( 'By', 'wp-responsive-recent-post-slider' ); ?> <?php the_author(); ?></span>
32
- <?php }
33
  $authorPar = ( $showAuthor && $showDate ) ? '&nbsp;/&nbsp;' : '';
34
  echo $authorPar;
35
  if( $showDate ) { echo get_the_date(); } ?>
@@ -45,7 +46,6 @@ if ( !defined( 'ABSPATH' ) ) exit;
45
  $excerpt = strip_shortcodes(strip_tags(get_the_content())); ?>
46
  <div class="wppsac-sub-content"><?php echo wprps_limit_words($excerpt,$words_limit); ?></div>
47
  <?php } ?>
48
-
49
  <?php if( $showreadmore ) { ?>
50
  <a class="wppsac-readmorebtn" href="<?php the_permalink(); ?>"><?php _e('Read More', 'wp-responsive-recent-post-slider'); ?></a>
51
  <?php } ?>
6
  * @since 1.0.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
  ?>
13
 
14
  <div class="wppsac-carousel-slides">
15
  <?php if( has_post_thumbnail() ) { ?>
16
  <div class="wppsac-post-image-bg">
17
  <a href="<?php the_permalink(); ?>">
18
+ <img class="wppsac-post-image-bg" <?php if( $lazyload ) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
19
  </a>
20
  </div>
21
+ <?php } ?>
22
  <div class="wppsac-post-content-position">
23
  <?php if( $showCategory ) { ?>
24
  <div class="wppsac-post-categories"><?php echo $cat_list; ?></div>
28
  </h2>
29
  <?php if( $showDate || $showAuthor ) { ?>
30
  <div class="wppsac-post-date">
31
+ <?php if( $showAuthor ) { ?>
32
  <span><?php esc_html_e( 'By', 'wp-responsive-recent-post-slider' ); ?> <?php the_author(); ?></span>
33
+ <?php }
34
  $authorPar = ( $showAuthor && $showDate ) ? '&nbsp;/&nbsp;' : '';
35
  echo $authorPar;
36
  if( $showDate ) { echo get_the_date(); } ?>
46
  $excerpt = strip_shortcodes(strip_tags(get_the_content())); ?>
47
  <div class="wppsac-sub-content"><?php echo wprps_limit_words($excerpt,$words_limit); ?></div>
48
  <?php } ?>
 
49
  <?php if( $showreadmore ) { ?>
50
  <a class="wppsac-readmorebtn" href="<?php the_permalink(); ?>"><?php _e('Read More', 'wp-responsive-recent-post-slider'); ?></a>
51
  <?php } ?>
templates/slider/design-1.php CHANGED
@@ -6,10 +6,11 @@
6
  * @since 1.0.0
7
  */
8
 
9
- // Exit if accessed directly
10
- if ( !defined( 'ABSPATH' ) ) exit;
 
11
  ?>
12
-
13
  <div class="wppsac-post-slides">
14
  <div class="wppsac-post-content-position">
15
  <div class="wppsac-post-content-left wp-medium-8 wpcolumns">
@@ -29,18 +30,16 @@ if ( !defined( 'ABSPATH' ) ) exit;
29
  if( $showDate ) { echo get_the_date(); } ?>
30
  </div>
31
  <?php } ?>
32
-
33
  <?php if( $showContent ) { ?>
34
  <div class="wppsac-post-content">
35
  <?php
36
  $customExcerpt = get_the_excerpt();
37
- if ( has_excerpt($post->ID) ) { ?>
38
  <div class="wppsac-sub-content"><?php echo $customExcerpt ; ?></div>
39
  <?php } else {
40
  $excerpt = strip_shortcodes(strip_tags(get_the_content())); ?>
41
  <div class="wppsac-sub-content"><?php echo wprps_limit_words($excerpt,$words_limit); ?></div>
42
  <?php } ?>
43
-
44
  <?php if( $showreadmore ) { ?>
45
  <a class="wppsac-readmorebtn" href="<?php the_permalink(); ?>"><?php _e('Read More', 'wp-responsive-recent-post-slider'); ?></a>
46
  <?php } ?>
@@ -50,7 +49,7 @@ if ( !defined( 'ABSPATH' ) ) exit;
50
  <div class="wppsac-post-image-bg">
51
  <a href="<?php the_permalink(); ?>">
52
  <?php if( has_post_thumbnail() ) { ?>
53
- <img <?php if($lazyload) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
54
  <?php } ?>
55
  </a>
56
  </div>
6
  * @since 1.0.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
  ?>
13
+
14
  <div class="wppsac-post-slides">
15
  <div class="wppsac-post-content-position">
16
  <div class="wppsac-post-content-left wp-medium-8 wpcolumns">
30
  if( $showDate ) { echo get_the_date(); } ?>
31
  </div>
32
  <?php } ?>
 
33
  <?php if( $showContent ) { ?>
34
  <div class="wppsac-post-content">
35
  <?php
36
  $customExcerpt = get_the_excerpt();
37
+ if( has_excerpt($post->ID) ) { ?>
38
  <div class="wppsac-sub-content"><?php echo $customExcerpt ; ?></div>
39
  <?php } else {
40
  $excerpt = strip_shortcodes(strip_tags(get_the_content())); ?>
41
  <div class="wppsac-sub-content"><?php echo wprps_limit_words($excerpt,$words_limit); ?></div>
42
  <?php } ?>
 
43
  <?php if( $showreadmore ) { ?>
44
  <a class="wppsac-readmorebtn" href="<?php the_permalink(); ?>"><?php _e('Read More', 'wp-responsive-recent-post-slider'); ?></a>
45
  <?php } ?>
49
  <div class="wppsac-post-image-bg">
50
  <a href="<?php the_permalink(); ?>">
51
  <?php if( has_post_thumbnail() ) { ?>
52
+ <img <?php if( $lazyload ) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
53
  <?php } ?>
54
  </a>
55
  </div>
templates/slider/design-2.php CHANGED
@@ -6,13 +6,13 @@
6
  * @since 1.0.0
7
  */
8
 
9
- // Exit if accessed directly
10
- if ( !defined( 'ABSPATH' ) ) exit;
 
11
  ?>
12
 
13
  <div class="wppsac-post-slides">
14
- <div class="wppsac-post-content-position">
15
- <!-- Content-left/right -->
16
  <div class="wppsac-post-content-left wp-medium-6 wpcolumns">
17
  <div class="wppsac-post-inner-content">
18
  <?php if( $showCategory ) { ?>
@@ -41,7 +41,6 @@ if ( !defined( 'ABSPATH' ) ) exit;
41
  $excerpt = strip_shortcodes(strip_tags(get_the_content())); ?>
42
  <div class="wppsac-sub-content"><?php echo wprps_limit_words($excerpt,$words_limit); ?></div>
43
  <?php } ?>
44
-
45
  <?php if( $showreadmore ) { ?>
46
  <a class="wppsac-readmorebtn" href="<?php the_permalink(); ?>"><?php _e('Read More', 'wp-responsive-recent-post-slider'); ?></a>
47
  <?php } ?>
@@ -52,8 +51,8 @@ if ( !defined( 'ABSPATH' ) ) exit;
52
  <div class="wppsac-post-image-bg">
53
  <a href="<?php the_permalink(); ?>">
54
  <?php if( has_post_thumbnail() ) { ?>
55
- <img <?php if($lazyload) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
56
- <?php } ?>
57
  </a>
58
  </div>
59
  </div>
6
  * @since 1.0.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
  ?>
13
 
14
  <div class="wppsac-post-slides">
15
+ <div class="wppsac-post-content-position">
 
16
  <div class="wppsac-post-content-left wp-medium-6 wpcolumns">
17
  <div class="wppsac-post-inner-content">
18
  <?php if( $showCategory ) { ?>
41
  $excerpt = strip_shortcodes(strip_tags(get_the_content())); ?>
42
  <div class="wppsac-sub-content"><?php echo wprps_limit_words($excerpt,$words_limit); ?></div>
43
  <?php } ?>
 
44
  <?php if( $showreadmore ) { ?>
45
  <a class="wppsac-readmorebtn" href="<?php the_permalink(); ?>"><?php _e('Read More', 'wp-responsive-recent-post-slider'); ?></a>
46
  <?php } ?>
51
  <div class="wppsac-post-image-bg">
52
  <a href="<?php the_permalink(); ?>">
53
  <?php if( has_post_thumbnail() ) { ?>
54
+ <img <?php if( $lazyload ) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
55
+ <?php } ?>
56
  </a>
57
  </div>
58
  </div>
templates/slider/design-3.php CHANGED
@@ -6,16 +6,17 @@
6
  * @since 1.0.0
7
  */
8
 
9
- // Exit if accessed directly
10
- if ( !defined( 'ABSPATH' ) ) exit;
 
11
  ?>
12
-
13
  <div class="wppsac-post-slides">
14
  <div class="wppsac-post-overlay">
15
  <div class="wppsac-post-image-bg">
16
  <a href="<?php the_permalink(); ?>">
17
  <?php if( has_post_thumbnail() ) { ?>
18
- <img <?php if($lazyload) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
19
  <?php } ?>
20
  </a>
21
  </div>
@@ -29,7 +30,7 @@ if ( !defined( 'ABSPATH' ) ) exit;
29
  </h2>
30
  <?php if( $showDate || $showAuthor ) { ?>
31
  <div class="wppsac-post-date">
32
- <?php if($showAuthor) { ?>
33
  <span><?php esc_html_e( 'By', 'wp-responsive-recent-post-slider' ); ?> <?php the_author(); ?></span>
34
  <?php }
35
  $authorPar = ( $showAuthor && $showDate ) ? '&nbsp;/&nbsp;' : '';
6
  * @since 1.0.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
  ?>
13
+
14
  <div class="wppsac-post-slides">
15
  <div class="wppsac-post-overlay">
16
  <div class="wppsac-post-image-bg">
17
  <a href="<?php the_permalink(); ?>">
18
  <?php if( has_post_thumbnail() ) { ?>
19
+ <img <?php if( $lazyload ) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
20
  <?php } ?>
21
  </a>
22
  </div>
30
  </h2>
31
  <?php if( $showDate || $showAuthor ) { ?>
32
  <div class="wppsac-post-date">
33
+ <?php if( $showAuthor ) { ?>
34
  <span><?php esc_html_e( 'By', 'wp-responsive-recent-post-slider' ); ?> <?php the_author(); ?></span>
35
  <?php }
36
  $authorPar = ( $showAuthor && $showDate ) ? '&nbsp;/&nbsp;' : '';
templates/slider/design-4.php CHANGED
@@ -6,8 +6,9 @@
6
  * @since 1.0.0
7
  */
8
 
9
- // Exit if accessed directly
10
- if ( !defined( 'ABSPATH' ) ) exit;
 
11
  ?>
12
 
13
  <div class="wppsac-post-slides">
@@ -17,12 +18,12 @@ if ( !defined( 'ABSPATH' ) ) exit;
17
  <div class="wp-medium-5 wpcolumns">
18
  <div class="wppsac-post-image-bg">
19
  <a href="<?php the_permalink(); ?>">
20
- <img <?php if($lazyload) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
21
  </a>
22
  </div>
23
  </div>
24
  <?php } ?>
25
- <div class="<?php if ( ! empty($feat_image) ) { ?> wp-medium-7 <?php } else { ?> wp-medium-12 <?php } ?> wpcolumns">
26
  <?php if( $showCategory ) { ?>
27
  <div class="wppsac-post-categories"><?php echo $cat_list; ?></div>
28
  <?php } ?>
@@ -39,18 +40,17 @@ if ( !defined( 'ABSPATH' ) ) exit;
39
  if( $showDate ) { echo get_the_date(); } ?>
40
  </div>
41
  <?php } ?>
42
- <?php if ($showContent ) { ?>
43
  <div class="wppsac-post-content">
44
  <?php
45
  $customExcerpt = get_the_excerpt();
46
- if (has_excerpt($post->ID)) { ?>
47
  <div class="wppsac-sub-content"><?php echo $customExcerpt ; ?></div>
48
  <?php } else {
49
  $excerpt = strip_shortcodes(strip_tags(get_the_content())); ?>
50
  <div class="wppsac-sub-content"><?php echo wprps_limit_words($excerpt,$words_limit); ?></div>
51
  <?php } ?>
52
-
53
- <?php if($showreadmore) { ?>
54
  <a class="wppsac-readmorebtn" href="<?php the_permalink(); ?>"><?php _e('Read More', 'wp-responsive-recent-post-slider'); ?></a>
55
  <?php } ?>
56
  </div>
6
  * @since 1.0.0
7
  */
8
 
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
  ?>
13
 
14
  <div class="wppsac-post-slides">
18
  <div class="wp-medium-5 wpcolumns">
19
  <div class="wppsac-post-image-bg">
20
  <a href="<?php the_permalink(); ?>">
21
+ <img <?php if( $lazyload ) { ?>data-lazy="<?php echo esc_url($feat_image); ?>" <?php } ?> src="<?php if(empty($lazyload)) { echo esc_url($feat_image); } ?>" alt="<?php the_title_attribute(); ?>" />
22
  </a>
23
  </div>
24
  </div>
25
  <?php } ?>
26
+ <div class="<?php if ( ! empty( $feat_image ) ) { ?> wp-medium-7 <?php } else { ?> wp-medium-12 <?php } ?> wpcolumns">
27
  <?php if( $showCategory ) { ?>
28
  <div class="wppsac-post-categories"><?php echo $cat_list; ?></div>
29
  <?php } ?>
40
  if( $showDate ) { echo get_the_date(); } ?>
41
  </div>
42
  <?php } ?>
43
+ <?php if( $showContent ) { ?>
44
  <div class="wppsac-post-content">
45
  <?php
46
  $customExcerpt = get_the_excerpt();
47
+ if( has_excerpt( $post->ID ) ) { ?>
48
  <div class="wppsac-sub-content"><?php echo $customExcerpt ; ?></div>
49
  <?php } else {
50
  $excerpt = strip_shortcodes(strip_tags(get_the_content())); ?>
51
  <div class="wppsac-sub-content"><?php echo wprps_limit_words($excerpt,$words_limit); ?></div>
52
  <?php } ?>
53
+ <?php if( $showreadmore ) { ?>
 
54
  <a class="wppsac-readmorebtn" href="<?php the_permalink(); ?>"><?php _e('Read More', 'wp-responsive-recent-post-slider'); ?></a>
55
  <?php } ?>
56
  </div>
wp-recent-post-slider.php CHANGED
@@ -6,7 +6,7 @@
6
  * Domain Path: /languages/
7
  * Description: Add and display Responsive WordPresss Recent Post Slider and Carousel on your website with 4 designs (Slider) and 1 designs (Carousel) using a shortcode. Also added Gutenberg block support.
8
  * Author: WP OnlineSupport
9
- * Version: 2.4
10
  * Author URI: https://www.wponlinesupport.com/
11
  *
12
  * @package WordPress
@@ -23,19 +23,19 @@ if ( ! defined( 'ABSPATH' ) ) {
23
  * @package WP Responsive Recent Post Slider
24
  * @since 1.0.0
25
  */
26
- if( !defined( 'WPRPS_VERSION' ) ) {
27
- define( 'WPRPS_VERSION', '2.4' ); // Version of plugin
28
  }
29
- if( !defined( 'WPRPS_DIR' ) ) {
30
  define( 'WPRPS_DIR', dirname( __FILE__ ) ); // Plugin dir
31
  }
32
- if( !defined( 'WPRPS_URL' ) ) {
33
  define( 'WPRPS_URL', plugin_dir_url( __FILE__ ) ); // Plugin url
34
  }
35
- if( !defined( 'WPRPS_POST_TYPE' ) ) {
36
  define( 'WPRPS_POST_TYPE', 'post' ); // Plugin post type
37
  }
38
- if(!defined( 'WPRPS_PLUGIN_LINK' ) ) {
39
  define( 'WPRPS_PLUGIN_LINK', 'https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/?utm_source=WP&utm_medium=Post-Slider&utm_campaign=Features-PRO' ); // Plugin link
40
  }
41
 
@@ -51,8 +51,8 @@ function wprps_load_textdomain() {
51
  global $wp_version;
52
 
53
  // Set filter for plugin's languages directory
54
- $wpls_pro_lang_dir = dirname( plugin_basename( __FILE__ ) ) . '/languages/';
55
- $wpls_pro_lang_dir = apply_filters( 'wprps_languages_directory', $wpls_pro_lang_dir );
56
 
57
  // Traditional WordPress plugin locale filter.
58
  $get_locale = get_locale();
@@ -71,7 +71,7 @@ function wprps_load_textdomain() {
71
  if ( file_exists( $mofile_global ) ) { // Look in global /wp-content/languages/plugin-name folder
72
  load_textdomain( 'wp-responsive-recent-post-slider', $mofile_global );
73
  } else { // Load the default language files
74
- load_plugin_textdomain( 'wp-responsive-recent-post-slider', false, $wpls_pro_lang_dir );
75
  }
76
  }
77
  add_action('plugins_loaded', 'wprps_load_textdomain');
@@ -162,10 +162,17 @@ if ( function_exists( 'register_block_type' ) ) {
162
  require_once( WPRPS_DIR . '/includes/admin/supports/gutenberg-block.php' );
163
  }
164
 
165
- // How it work file, Load admin files
166
- if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
167
- require_once( WPRPS_DIR . '/includes/admin/wprps-how-it-work.php' );
 
 
 
 
 
 
168
  }
 
169
 
170
  /* Plugin Wpos Analytics Data Starts */
171
  function wpos_analytics_anl18_load() {
6
  * Domain Path: /languages/
7
  * Description: Add and display Responsive WordPresss Recent Post Slider and Carousel on your website with 4 designs (Slider) and 1 designs (Carousel) using a shortcode. Also added Gutenberg block support.
8
  * Author: WP OnlineSupport
9
+ * Version: 2.7.1
10
  * Author URI: https://www.wponlinesupport.com/
11
  *
12
  * @package WordPress
23
  * @package WP Responsive Recent Post Slider
24
  * @since 1.0.0
25
  */
26
+ if( ! defined( 'WPRPS_VERSION' ) ) {
27
+ define( 'WPRPS_VERSION', '2.7.1' ); // Version of plugin
28
  }
29
+ if( ! defined( 'WPRPS_DIR' ) ) {
30
  define( 'WPRPS_DIR', dirname( __FILE__ ) ); // Plugin dir
31
  }
32
+ if( ! defined( 'WPRPS_URL' ) ) {
33
  define( 'WPRPS_URL', plugin_dir_url( __FILE__ ) ); // Plugin url
34
  }
35
+ if( ! defined( 'WPRPS_POST_TYPE' ) ) {
36
  define( 'WPRPS_POST_TYPE', 'post' ); // Plugin post type
37
  }
38
+ if( ! defined( 'WPRPS_PLUGIN_LINK' ) ) {
39
  define( 'WPRPS_PLUGIN_LINK', 'https://www.wponlinesupport.com/wp-plugin/wp-responsive-recent-post-slider/?utm_source=WP&utm_medium=Post-Slider&utm_campaign=Features-PRO' ); // Plugin link
40
  }
41
 
51
  global $wp_version;
52
 
53
  // Set filter for plugin's languages directory
54
+ $wprps_lang_dir = dirname( plugin_basename( __FILE__ ) ) . '/languages/';
55
+ $wprps_lang_dir = apply_filters( 'wprps_languages_directory', $wprps_lang_dir );
56
 
57
  // Traditional WordPress plugin locale filter.
58
  $get_locale = get_locale();
71
  if ( file_exists( $mofile_global ) ) { // Look in global /wp-content/languages/plugin-name folder
72
  load_textdomain( 'wp-responsive-recent-post-slider', $mofile_global );
73
  } else { // Load the default language files
74
+ load_plugin_textdomain( 'wp-responsive-recent-post-slider', false, $wprps_lang_dir );
75
  }
76
  }
77
  add_action('plugins_loaded', 'wprps_load_textdomain');
162
  require_once( WPRPS_DIR . '/includes/admin/supports/gutenberg-block.php' );
163
  }
164
 
165
+ /* Recommended Plugins Starts */
166
+ if ( is_admin() ) {
167
+ require_once( WPRPS_DIR . '/wpos-plugins/wpos-recommendation.php' );
168
+
169
+ wpos_espbw_init_module( array(
170
+ 'prefix' => 'wprps',
171
+ 'menu' => 'wprps-about',
172
+ 'position' => 1,
173
+ ));
174
  }
175
+ /* Recommended Plugins Ends */
176
 
177
  /* Plugin Wpos Analytics Data Starts */
178
  function wpos_analytics_anl18_load() {
wpos-analytics/templates/analytic.php CHANGED
@@ -22,7 +22,7 @@ if ( !defined( 'ABSPATH' ) ) {
22
  </div>
23
  <?php } ?>
24
 
25
- <form method="POST" action="http://analytics.wponlinesupport.com">
26
  <div class="wpos-anylc-optin-wrap">
27
  <div class="wpos-anylc-optin-icon-wrap">
28
  <div class="wpos-anylc-optin-icon wpos-anylc-wp-badge"><i class="dashicons dashicons-wordpress"></i></div>
22
  </div>
23
  <?php } ?>
24
 
25
+ <form method="POST" action="https://analytics.wponlinesupport.com">
26
  <div class="wpos-anylc-optin-wrap">
27
  <div class="wpos-anylc-optin-icon-wrap">
28
  <div class="wpos-anylc-optin-icon wpos-anylc-wp-badge"><i class="dashicons dashicons-wordpress"></i></div>
wpos-analytics/templates/optout-popup.php CHANGED
@@ -21,7 +21,7 @@ if ( !defined( 'ABSPATH' ) ) {
21
  <p>By clicking "Opt Out", we will no longer be sending any data from <b><?php echo $module['name']; ?></b> to <a href="https://www.wponlinesupport.com/" target="_blank">wponlinesupport.com</a>.</p>
22
  </div>
23
  <div class="wpos-anylc-popup-footer">
24
- <form method="POST" action="http://analytics.wponlinesupport.com">
25
  <?php
26
  if( ! empty( $optin_form_data ) ) {
27
  foreach ($optin_form_data as $data_key => $data_value) {
21
  <p>By clicking "Opt Out", we will no longer be sending any data from <b><?php echo $module['name']; ?></b> to <a href="https://www.wponlinesupport.com/" target="_blank">wponlinesupport.com</a>.</p>
22
  </div>
23
  <div class="wpos-anylc-popup-footer">
24
+ <form method="POST" action="https://analytics.wponlinesupport.com">
25
  <?php
26
  if( ! empty( $optin_form_data ) ) {
27
  foreach ($optin_form_data as $data_key => $data_value) {
wpos-plugins/assets/css/admin-style.css ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .espbw-clearfix:before, .espbw-clearfix:after {content: "";display: table;}
2
+ .espbw-clearfix::after {clear: both;}
3
+ .espbw-hide{display: none;}
4
+ .filter-links a{padding-left:30px !important; background-size:25px 25px; background-repeat:no-repeat; background-position:left center;}
5
+ .filter-links .espbw-plugin-all a.espbw-filter-link{background-image:url('../images/essential-plugin-50.png');}
6
+ .filter-links .espbw-plugin-recommended a.espbw-filter-link{background-image:url('../images/utility-icon.png');}
7
+ .filter-links .espbw-plugin-marketing a.espbw-filter-link{background-image:url('../images/inbound50-by-50.png');}
8
+ .filter-links .espbw-plugin-sliders a.espbw-filter-link{background-image:url('../images/sliderspack.png');}
9
+ .filter-links .espbw-plugin-woo a.espbw-filter-link{background-image:url('../images/cart-2.png');}
10
+ .wpos-em{font-size:15px; color:#e11919 !important;}
11
+ .espbw-dashboard-logo{text-align: center;}
12
+ .espbw-dashboard-logo img{width:140px;}
13
+ .espbw-plugin-card-wrap{margin: 0 0 16px 0; display: inline-block; vertical-align: top; width: 50%; padding: 0 8px; font-size: 13px; box-sizing: border-box;}
14
+ .espbw-plugin-list{margin: 0 -8px; font-size:0.001px; width: auto;}
15
+ .espbw-plugin-list .plugin-card{float: none; width: 100%; margin: 0;}
16
+ .espbw-dashboard-title{text-align: center;}
17
+ .espbw-dashboard-title h3{margin: 10px 0 8px 0; font-size: 1.8em}
18
+ .espbw-dashboard-title-inr{display: inline-block; text-align: right;}
19
+ .espbw-dashboard-title-inr span{display: inline-block; font-weight: 600; text-decoration: underline;}
20
+ .espbw-filter .espbw-search-inp{margin: 0; border-radius: 0;}
21
+ .espbw-filter a:focus{box-shadow: none; outline: 0;}
22
+ .espbw-search-no-result{clear: both; text-align: center; font-size: 16px;}
wpos-plugins/assets/images/cart-2.png ADDED
Binary file
wpos-plugins/assets/images/essential-plugin-16.png ADDED
Binary file
wpos-plugins/assets/images/essential-plugin-50.png ADDED
Binary file
wpos-plugins/assets/images/inbound50-by-50.png ADDED
Binary file
wpos-plugins/assets/images/sliderspack.png ADDED
Binary file
wpos-plugins/assets/images/utility-icon.png ADDED
Binary file
wpos-plugins/assets/images/wponlinesupport-logo.png ADDED
Binary file
wpos-plugins/assets/js/admin-script.js ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*jslint browser:true */
2
+ (function ($) {
3
+ "use strict";
4
+
5
+ var timer;
6
+ var timeOut = 300; /* delay after last keypress to execute filter */
7
+
8
+ $( document ).ready(function() {
9
+
10
+ /* Stop Submitting Search Form */
11
+ $('.espbw-search-inp-js').submit(function( event ) {
12
+ event.preventDefault();
13
+ });
14
+
15
+ $(document).on('keyup paste input', '.espbw-search-inp-js', function(event) {
16
+
17
+ clearTimeout(timer); /* if we pressed the key, it will clear the previous timer and wait again */
18
+ var curr_ele = $(this);
19
+ var cls_ele = curr_ele.closest('.espbw-dashboard-wrap');
20
+ var search_ele = cls_ele.find('.espbw-plugin-list');
21
+
22
+ cls_ele.find('.espbw-search-no-result').hide();
23
+ cls_ele.find('.espbw-filter-link').removeClass('current');
24
+
25
+ timer = setTimeout(function() {
26
+
27
+ var search_value = $.trim( curr_ele.val().toLowerCase() );
28
+ var search_array = search_value.split(" ");
29
+
30
+ if( search_value == '' ) {
31
+ cls_ele.find('.espbw-plugin-all .espbw-filter-link').addClass('current');
32
+ }
33
+
34
+ search_ele.find('.espbw-plugin-card-wrap').each(function(index) {
35
+
36
+ var contents = $(this).find('.espbw-plugin-name').text().toLowerCase();
37
+ var tags = $(this).attr('data-tags').toLowerCase();
38
+
39
+ if ( contents.indexOf(search_value) !== -1 || tags.indexOf(search_value) !== -1 ) {
40
+ $(this).show();
41
+ } else {
42
+ $(this).hide();
43
+ }
44
+ });
45
+
46
+ if( ! cls_ele.find('.espbw-plugin-card-wrap').is(":visible") ) {
47
+ cls_ele.find('.espbw-search-no-result').show();
48
+ }
49
+
50
+ }, timeOut);
51
+ });
52
+
53
+ /* Filter Links */
54
+ $(document).on('click', '.espbw-filter-link', function() {
55
+
56
+ var curr_ele = $(this);
57
+ var cls_ele = curr_ele.closest('.espbw-dashboard-wrap');
58
+ var plugin_list_ele = cls_ele.find('.espbw-plugin-list');
59
+ var filter = curr_ele.attr('data-filter');
60
+ filter = filter ? filter : '';
61
+
62
+ cls_ele.find('.espbw-search-inp-js').val('');
63
+ plugin_list_ele.find('.espbw-plugin-card-wrap').hide();
64
+ cls_ele.find('.espbw-filter-link').removeClass('current');
65
+ curr_ele.addClass('current');
66
+
67
+ if( filter == '' ) {
68
+ plugin_list_ele.find('.espbw-plugin-card-wrap').show();
69
+ } else {
70
+ plugin_list_ele.find('.espbw-'+filter).show();
71
+ }
72
+ });
73
+
74
+ });
75
+
76
+ })(jQuery);
wpos-plugins/includes/admin/class-espbw-admin.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Admin Class
4
+ * Handles the Admin side functionality of plugin
5
+ *
6
+ * @package Essential Plugins Bundle
7
+ * @since 1.0
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ class WPOS_ESPBW_Admin {
15
+
16
+ function __construct() {
17
+
18
+ // Action to register admin menu
19
+ add_action( 'admin_menu', array($this, 'espbw_register_menu'), 14 );
20
+ }
21
+
22
+ /**
23
+ * Function to register admin menus
24
+ *
25
+ * @since 1.0
26
+ */
27
+ function espbw_register_menu() {
28
+
29
+ global $wpos_espbw_module;
30
+
31
+ // Loop of menu
32
+ if( ! empty( $wpos_espbw_module ) ) {
33
+ foreach ($wpos_espbw_module as $module_key => $module_val) {
34
+
35
+ // Dashboard Page
36
+ add_submenu_page( $module_val['menu'], __('Essential Plugins Bundle By WP OnlineSuport', 'espbw'), '<span style="color:#ff6600;">'.__('Install Popular Plugins From WPOS', 'espbw').'</span>', 'manage_options', "{$module_val['prefix']}-espbw-dashboard", array($this, 'espbw_dashboard_page'), $module_val['position'] );
37
+ }
38
+ }
39
+ }
40
+
41
+ /**
42
+ * Render Plugin Dashboard Page
43
+ *
44
+ * @since 1.0
45
+ */
46
+ function espbw_dashboard_page() {
47
+ include_once( WPOS_ESPBW_DIR . '/includes/admin/views/dashboard.php' );
48
+ }
49
+ }
50
+
51
+ $wpos_espbw_admin = new WPOS_ESPBW_Admin();
wpos-plugins/includes/admin/views/dashboard.php ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Dashboard Page
4
+ *
5
+ * @package Essential Plugins Bundle
6
+ * @since 1.0
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+
13
+ // Call Plugin API
14
+ if ( ! function_exists( 'plugins_api' ) ) {
15
+ require_once ABSPATH . '/wp-admin/includes/plugin-install.php';
16
+ }
17
+
18
+ // Taking some data
19
+ $plugins_allowedtags = array(
20
+ 'a' => array(
21
+ 'href' => array(),
22
+ 'title' => array(),
23
+ 'target' => array(),
24
+ ),
25
+ 'abbr' => array( 'title' => array() ),
26
+ 'acronym' => array( 'title' => array() ),
27
+ 'code' => array(),
28
+ 'pre' => array(),
29
+ 'em' => array(),
30
+ 'strong' => array(),
31
+ 'ul' => array(),
32
+ 'ol' => array(),
33
+ 'li' => array(),
34
+ 'p' => array(),
35
+ 'br' => array(),
36
+ );
37
+
38
+ $plugins_data = wpos_espbw_get_plugin_data();
39
+ $plugins_filter = wpos_espbw_plugins_filter();
40
+
41
+ // Check Plugin Install Permission
42
+ if( ! current_user_can('install_plugins') ) {
43
+ echo '<div class="error">
44
+ <p>'. esc_html__( "Sorry, It looks like that you do not have permission to install the plugin.", "espbw") .'</p>
45
+ <p>'. esc_html__("You can take a look at our all plugins at", "espbw") .' <a href="https://profiles.wordpress.org/wponlinesupport#content-plugins" target="_blank">'. esc_html__("here", "espbw") . '</a>.</p>
46
+ </div>';
47
+ return;
48
+ }
49
+ ?>
50
+ <script type="text/javascript">
51
+ var pagenow = 'plugin-install';
52
+ </script>
53
+ <div class="wrap espbw-settings">
54
+ <div class="espbw-dashboard-wrap">
55
+
56
+ <div class="espbw-dashboard-title">
57
+ <div class="espbw-dashboard-title-inr">
58
+ <div class="espbw-dashboard-logo"><a href="https://www.wponlinesupport.com/?utm_source=wp&utm_medium=plugin&utm_campaign=essential-bundle" target="_blank"><img src="<?php echo esc_url( WPOS_ESPBW_URL ); ?>assets/images/wponlinesupport-logo.png" alt="wponlinesupport" /></a></div>
59
+ <h3 style="text-align:center;"><?php _e( 'Essential Plugins', 'espbw' ); ?></h3>
60
+ <em class="wpos-em">Installs directly from <b>wordpress.org</b> repository</em> <br />
61
+ </div>
62
+ </div>
63
+ <br/>
64
+
65
+ <div class="wp-filter espbw-filter">
66
+ <ul class="filter-links espbw-filter-links">
67
+ <li class="espbw-plugin-all"><a href="javascript:void(0);" class="espbw-filter-link current"><?php esc_html_e('All Essential Plugins', 'espbw'); ?></a></li>
68
+ <li class="espbw-plugin-recommended"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="recommended"><?php esc_html_e('Utility Plugins', 'espbw'); ?></a></li>
69
+ <li class="espbw-plugin-marketing"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="marketing"><?php esc_html_e('Inbound Marketing', 'espbw'); ?></a></li>
70
+ <li class="espbw-plugin-sliders"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="sliders"><?php esc_html_e('Sliders', 'espbw'); ?></a></li>
71
+ <li class="espbw-plugin-woo"><a href="javascript:void(0);" class="espbw-filter-link" data-filter="woocommerce"><?php esc_html_e('WooCommerce', 'espbw'); ?></a></li>
72
+ </ul>
73
+
74
+ <form class="search-form search-plugins" method="get">
75
+ <input type="hidden" name="page" value="espbw-dashboard" />
76
+ <input type="search" name="espbw_search" value="" class="wp-filter-search espbw-search-inp espbw-search-inp-js" placeholder="<?php echo esc_html_e('Search Plugins e.g popup', 'espbw'); ?>" />
77
+ </form>
78
+ </div>
79
+
80
+ <?php if( ! empty( $plugins_data->plugins ) ) { ?>
81
+ <form id="plugin-filter" method="post">
82
+ <div class="espbw-plugin-list-wrap">
83
+ <div class="widefat espbw-plugin-list espbw-clearfix" id="the-list">
84
+
85
+ <?php foreach ($plugins_data->plugins as $plugin_key => $plugin_data) {
86
+
87
+ if ( is_object( $plugin_data ) ) {
88
+ $plugin_data = (array) $plugin_data;
89
+ }
90
+
91
+ // Taking some data
92
+ $title = wp_kses( $plugin_data['name'], $plugins_allowedtags );
93
+ $version = wp_kses( $plugin_data['version'], $plugins_allowedtags );
94
+ $name = strip_tags( $title . ' ' . $version );
95
+ $description = strip_tags( $plugin_data['short_description'] );
96
+ $last_updated_timestamp = strtotime( $plugin_data['last_updated'] );
97
+ $author = wp_kses( $plugin_data['author'], $plugins_allowedtags );
98
+ $author = str_replace( "href=", 'target="_blank" href=', $author );
99
+ $requires_php = isset( $plugin['requires_php'] ) ? $plugin['requires_php'] : null;
100
+ $requires_wp = isset( $plugin_data['requires'] ) ? $plugin_data['requires'] : null;
101
+ $compatible_php = is_php_version_compatible( $requires_php );
102
+ $compatible_wp = is_wp_version_compatible( $requires_wp );
103
+ $tested_wp = ( empty( $plugin_data['tested'] ) || version_compare( get_bloginfo( 'version' ), $plugin_data['tested'], '<=' ) );
104
+ $details_link = self_admin_url( 'plugin-install.php?tab=plugin-information&amp;plugin=' . $plugin_data['slug'] . '&amp;TB_iframe=true&amp;width=600&amp;height=550' );
105
+ $extra_class = ( ! empty( $plugins_filter[ $plugin_data['slug'] ]['class'] ) ) ? $plugins_filter[ $plugin_data['slug'] ]['class'] : '';
106
+ $plugin_tags = ( ! empty( $plugins_filter[ $plugin_data['slug'] ]['tags'] ) ) ? $plugins_filter[ $plugin_data['slug'] ]['tags'] : '';
107
+
108
+ // Author String
109
+ if ( ! empty( $author ) ) {
110
+ /* translators: %s: Plugin author. */
111
+ $author = ' <cite>' . sprintf( __( 'By %s' ), $author ) . '</cite>';
112
+ }
113
+
114
+ // Plugin Icon
115
+ if ( ! empty( $plugin_data['icons']['svg'] ) ) {
116
+ $plugin_icon_url = $plugin_data['icons']['svg'];
117
+ } elseif ( ! empty( $plugin_data['icons']['2x'] ) ) {
118
+ $plugin_icon_url = $plugin_data['icons']['2x'];
119
+ } elseif ( ! empty( $plugin_data['icons']['1x'] ) ) {
120
+ $plugin_icon_url = $plugin_data['icons']['1x'];
121
+ } else {
122
+ $plugin_icon_url = $plugin_data['icons']['default'];
123
+ }
124
+
125
+ // Plugin Action Links
126
+ $action_links = array();
127
+
128
+ if ( current_user_can( 'install_plugins' ) || current_user_can( 'update_plugins' ) ) {
129
+ $status = install_plugin_install_status( $plugin_data );
130
+
131
+ switch ( $status['status'] ) {
132
+ case 'install':
133
+ if ( $status['url'] ) {
134
+ if ( $compatible_php && $compatible_wp ) {
135
+ $action_links[] = sprintf(
136
+ '<a class="install-now button" data-slug="%s" href="%s" aria-label="%s" data-name="%s">%s</a>',
137
+ esc_attr( $plugin_data['slug'] ),
138
+ esc_url( $status['url'] ),
139
+ /* translators: %s: Plugin name and version. */
140
+ esc_attr( sprintf( __( 'Install %s now' ), $name ) ),
141
+ esc_attr( $name ),
142
+ __( 'Install Now' )
143
+ );
144
+ } else {
145
+ $action_links[] = sprintf(
146
+ '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
147
+ _x( 'Cannot Install', 'plugin' )
148
+ );
149
+ }
150
+ }
151
+ break;
152
+
153
+ case 'update_available':
154
+ if ( $status['url'] ) {
155
+ if ( $compatible_php && $compatible_wp ) {
156
+ $action_links[] = sprintf(
157
+ '<a class="update-now button aria-button-if-js" data-plugin="%s" data-slug="%s" href="%s" aria-label="%s" data-name="%s">%s</a>',
158
+ esc_attr( $status['file'] ),
159
+ esc_attr( $plugin_data['slug'] ),
160
+ esc_url( $status['url'] ),
161
+ /* translators: %s: Plugin name and version. */
162
+ esc_attr( sprintf( __( 'Update %s now' ), $name ) ),
163
+ esc_attr( $name ),
164
+ __( 'Update Now' )
165
+ );
166
+ } else {
167
+ $action_links[] = sprintf(
168
+ '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
169
+ _x( 'Cannot Update', 'plugin' )
170
+ );
171
+ }
172
+ }
173
+ break;
174
+
175
+ case 'latest_installed':
176
+ case 'newer_installed':
177
+ if ( is_plugin_active( $status['file'] ) ) {
178
+ $action_links[] = sprintf(
179
+ '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
180
+ _x( 'Active', 'plugin' )
181
+ );
182
+ } elseif ( current_user_can( 'activate_plugin', $status['file'] ) ) {
183
+ $button_text = __( 'Activate' );
184
+ /* translators: %s: Plugin name. */
185
+ $button_label = _x( 'Activate %s', 'plugin' );
186
+ $activate_url = add_query_arg(
187
+ array(
188
+ '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $status['file'] ),
189
+ 'action' => 'activate',
190
+ 'plugin' => $status['file'],
191
+ ),
192
+ network_admin_url( 'plugins.php' )
193
+ );
194
+
195
+ if ( is_network_admin() ) {
196
+ $button_text = __( 'Network Activate' );
197
+ /* translators: %s: Plugin name. */
198
+ $button_label = _x( 'Network Activate %s', 'plugin' );
199
+ $activate_url = add_query_arg( array( 'networkwide' => 1 ), $activate_url );
200
+ }
201
+
202
+ $action_links[] = sprintf(
203
+ '<a href="%1$s" class="button activate-now" aria-label="%2$s">%3$s</a>',
204
+ esc_url( $activate_url ),
205
+ esc_attr( sprintf( $button_label, $plugin_data['name'] ) ),
206
+ $button_text
207
+ );
208
+ } else {
209
+ $action_links[] = sprintf(
210
+ '<button type="button" class="button button-disabled" disabled="disabled">%s</button>',
211
+ _x( 'Installed', 'plugin' )
212
+ );
213
+ }
214
+ break;
215
+ }
216
+ }
217
+
218
+ $action_links[] = sprintf(
219
+ '<a href="%s" class="thickbox open-plugin-details-modal" aria-label="%s" data-title="%s">%s</a>',
220
+ esc_url( $details_link ),
221
+ /* translators: %s: Plugin name and version. */
222
+ esc_attr( sprintf( __( 'More information about %s' ), $name ) ),
223
+ esc_attr( $name ),
224
+ __( 'More Details' )
225
+ );
226
+ ?>
227
+
228
+ <div class="espbw-plugin-card-wrap <?php echo $extra_class; ?>" data-tags="<?php echo esc_attr( $plugin_tags ); ?>">
229
+ <div class="plugin-card plugin-card-<?php echo sanitize_html_class( $plugin_data['slug'] ); ?>">
230
+ <div class="plugin-card-top">
231
+ <div class="name column-name">
232
+ <h3>
233
+ <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox open-plugin-details-modal">
234
+ <span class="espbw-plugin-name"><?php echo $title; ?></span>
235
+ <img src="<?php echo esc_url( $plugin_icon_url ); ?>" class="plugin-icon" alt="" />
236
+ </a>
237
+ </h3>
238
+ </div>
239
+
240
+ <div class="action-links">
241
+ <?php
242
+ if ( $action_links ) {
243
+ echo '<ul class="plugin-action-buttons"><li>' . implode( '</li><li>', $action_links ) . '</li></ul>';
244
+ }
245
+ ?>
246
+ </div>
247
+
248
+ <div class="desc column-description">
249
+ <p><?php echo $description; ?></p>
250
+ <p class="authors"><?php echo $author; ?></p>
251
+ </div>
252
+ </div><!-- end .plugin-card-top -->
253
+
254
+ <div class="plugin-card-bottom">
255
+ <div class="vers column-rating">
256
+ <?php
257
+ wp_star_rating(
258
+ array(
259
+ 'rating' => $plugin_data['rating'],
260
+ 'type' => 'percent',
261
+ 'number' => $plugin_data['num_ratings'],
262
+ )
263
+ );
264
+ ?>
265
+ <span class="num-ratings" aria-hidden="true">(<?php echo number_format_i18n( $plugin_data['num_ratings'] ); ?>)</span>
266
+ </div>
267
+
268
+ <div class="column-updated">
269
+ <strong><?php _e( 'Last Updated:' ); ?></strong>
270
+ <?php
271
+ /* translators: %s: Human-readable time difference. */
272
+ printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) );
273
+ ?>
274
+ </div>
275
+
276
+ <div class="column-downloaded">
277
+ <?php
278
+ if ( $plugin_data['active_installs'] >= 1000000 ) {
279
+ $active_installs_millions = floor( $plugin_data['active_installs'] / 1000000 );
280
+ $active_installs_text = sprintf(
281
+ /* translators: %s: Number of millions. */
282
+ _nx( '%s+ Million', '%s+ Million', $active_installs_millions, 'Active plugin installations' ),
283
+ number_format_i18n( $active_installs_millions )
284
+ );
285
+ } elseif ( 0 == $plugin_data['active_installs'] ) {
286
+ $active_installs_text = _x( 'Less Than 10', 'Active plugin installations' );
287
+ } else {
288
+ $active_installs_text = number_format_i18n( $plugin_data['active_installs'] ) . '+';
289
+ }
290
+ /* translators: %s: Number of installations. */
291
+ printf( __( '%s Active Installations' ), $active_installs_text );
292
+ ?>
293
+ </div>
294
+
295
+ <div class="column-compatibility">
296
+ <?php
297
+ if ( ! $tested_wp ) {
298
+ echo '<span class="compatibility-untested">' . __( 'Untested with your version of WordPress' ) . '</span>';
299
+ } elseif ( ! $compatible_wp ) {
300
+ echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress' ) . '</span>';
301
+ } else {
302
+ echo '<span class="compatibility-compatible">' . __( '<strong>Compatible</strong> with your version of WordPress' ) . '</span>';
303
+ }
304
+ ?>
305
+ </div>
306
+ </div><!-- end .plugin-card-bottom -->
307
+ </div><!-- end .plugin-card -->
308
+ </div><!-- end .espbw-plugin-card-wrap -->
309
+
310
+ <?php } ?>
311
+
312
+ </div>
313
+ <div class="espbw-hide espbw-search-no-result"><?php esc_html_e('Sorry, No result found. Please refine your search.', 'espbw'); ?></div>
314
+ </div><!-- end .espbw-plugin-list-wrap -->
315
+ </form>
316
+ <?php } else { ?>
317
+
318
+ <div class="espbw-no-result">
319
+ <p><?php esc_html_e('Sorry, Something happened wrong.', 'espbw'); ?></p>
320
+ <p><?php esc_html_e('You can take a look at our all plugins at', 'espbw'); ?> <a href="https://profiles.wordpress.org/wponlinesupport#content-plugins" target="_blank"><?php esc_html_e('here', 'espbw'); ?></a>.</p>
321
+ </div>
322
+
323
+ <?php }
324
+ ?>
325
+ </div>
326
+ </div><!-- end .wrap -->
wpos-plugins/includes/class-espbw-script.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Script Class
4
+ * Handles the script and style functionality of plugin
5
+ *
6
+ * @package Essential Plugins Bundle
7
+ * @since 1.0
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ class WPOS_ESPBW_Script {
15
+
16
+ function __construct() {
17
+
18
+ // Action to add style at admin side
19
+ add_action( 'admin_enqueue_scripts', array($this, 'espbw_admin_script_style') );
20
+ }
21
+
22
+ /**
23
+ * Function to add script and style at admin side
24
+ *
25
+ * @since 1.0
26
+ */
27
+ function espbw_admin_script_style( $hook ) {
28
+
29
+ // Taking pages array
30
+ $page = isset( $_GET['page'] ) ? $_GET['page'] : '';
31
+
32
+ // Registring admin css
33
+ wp_register_style( 'espbw-admin-css', WPOS_ESPBW_URL.'assets/css/admin-style.css', array(), WPOS_ESPBW_VERSION );
34
+
35
+ // Registring admin script
36
+ wp_register_script( 'espbw-admin-script', WPOS_ESPBW_URL.'assets/js/admin-script.js', array('jquery'), WPOS_ESPBW_VERSION, true );
37
+
38
+ // Olny for dashboard screen
39
+ if( strpos( $page, 'espbw-dashboard' ) !== false ) {
40
+
41
+ // enqueing admin css
42
+ wp_enqueue_style( 'espbw-admin-css' );
43
+
44
+ // enqueing admin script
45
+ wp_enqueue_script( 'plugin-install' );
46
+ wp_enqueue_script( 'updates' );
47
+ wp_localize_script( 'updates', '_wpUpdatesItemCounts', array(
48
+ 'totals' => wp_get_update_data(),
49
+ ));
50
+ add_thickbox();
51
+
52
+ wp_enqueue_script( 'espbw-admin-script' );
53
+ }
54
+ }
55
+ }
56
+
57
+ $wpos_espbw_script = new WPOS_ESPBW_Script();
wpos-plugins/includes/espbw-functions.php ADDED
@@ -0,0 +1,258 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Common Functions
4
+ *
5
+ * @package Essential Plugins Bundle
6
+ * @since 1.0
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly
11
+ }
12
+
13
+ /**
14
+ * Function to sort plugins api data
15
+ *
16
+ * @since 1.0
17
+ */
18
+ function wpos_espbw_sort_plugin_data( $a, $b ) {
19
+
20
+ $a_active_installs = is_numeric( $a['active_installs'] ) ? $a['active_installs'] : 0;
21
+ $b_active_installs = is_numeric( $b['active_installs'] ) ? $b['active_installs'] : 0;
22
+
23
+ if ($a_active_installs == $b_active_installs) {
24
+ return 0;
25
+ }
26
+ return ($a_active_installs > $b_active_installs) ? -1 : 1;
27
+ }
28
+
29
+ /**
30
+ * Function to add script and style at admin side
31
+ *
32
+ * @since 1.0
33
+ */
34
+ function wpos_espbw_get_plugin_data() {
35
+
36
+ // Get cache result
37
+ $plugins_data = get_transient( 'espbw_plugins_data' );
38
+
39
+ // If no cache is there
40
+ if( empty( $plugins_data ) ) {
41
+
42
+ // Call Plugin API
43
+ if ( ! function_exists( 'plugins_api' ) ) {
44
+ require_once ABSPATH . '/wp-admin/includes/plugin-install.php';
45
+ }
46
+
47
+ $plugins_data = plugins_api( 'query_plugins', array(
48
+ 'per_page' => 60,
49
+ 'author' => 'wponlinesupport',
50
+ 'fields' => array(
51
+ 'icons' => true,
52
+ 'active_installs' => true,
53
+ )
54
+ ) );
55
+
56
+ if( is_wp_error( $plugins_data ) || empty( $plugins_data->plugins ) ) {
57
+
58
+ $file = WPOS_ESPBW_DIR . 'plugins-data.json';
59
+
60
+ // We don't need to write to the file, so just open for reading.
61
+ $fp = fopen( $file, 'r' );
62
+
63
+ // Pull data of the file in.
64
+ $file_data = fread( $fp, 1024 * KB_IN_BYTES );
65
+
66
+ // Close file handle
67
+ fclose( $fp );
68
+
69
+ $file_data = utf8_encode($file_data);
70
+ $plugins_data_arr = json_decode( $file_data, true );
71
+ $plugins_data = json_decode( $file_data );
72
+ $plugins_data->plugins = $plugins_data_arr['plugins'];
73
+ }
74
+
75
+ if( ! is_wp_error( $plugins_data ) && ! empty( $plugins_data->plugins ) ) {
76
+
77
+ // Sort the data based on active install
78
+ usort( $plugins_data->plugins, "wpos_espbw_sort_plugin_data" );
79
+
80
+ set_transient( 'espbw_plugins_data', $plugins_data, (12 * HOUR_IN_SECONDS) );
81
+ }
82
+ }
83
+
84
+ return $plugins_data;
85
+ }
86
+
87
+ /**
88
+ * Add some filter classes for plugins.
89
+ *
90
+ * @since 1.0
91
+ */
92
+ function wpos_espbw_plugins_filter() {
93
+
94
+ $plugin_filters = array(
95
+ 'sp-faq' => array(
96
+ 'class' => 'espbw-recommended espbw-showcase',
97
+ 'tags' => 'faq, faq list, faq plugin, faqs, wp faq with category, jquery ui accordion, faq with accordion, frequently asked questions, wordpress faq',
98
+ ),
99
+ 'app-mockups-carousel' => array(
100
+ 'class' => 'espbw-sliders',
101
+ 'tags' => 'app mockups carousel, mockups, device mockup, mockup slider, app gallery slider, app gallery Carousel, device gallery carousel, app mockups carousel, mockups carousel',
102
+ ),
103
+ 'countdown-timer-ultimate' => array(
104
+ 'class' => 'espbw-recommended espbw-showcase',
105
+ 'tags' => 'countdown timer, timer, timer countdown, countdown, event countdown timer, animated countdown timer, birthday countdown, clock, count down, countdown, countdown clock, countdown generator, countdown system, countdown timer, countdown timer, date countdown, event countdown, flash countdown, jQuery countdown, time counter, website countdown, wp countdown, wp countdown timer',
106
+ ),
107
+ 'featured-post-creative' => array(
108
+ 'class' => 'espbw-post espbw-showcase',
109
+ 'tags' => 'featured post, featured post grid, featured post widget, responsive featured post grid, responsive featured post, featured post brick layout, featured posts',
110
+ ),
111
+ 'footer-mega-grid-columns' => array(
112
+ 'class' => '',
113
+ 'tags' => 'footer, footer widgets, footer widgets in grid, website footer, footer, mega footer, megafooter',
114
+ ),
115
+ 'hero-banner-ultimate' => array(
116
+ 'class' => '',
117
+ 'tags' => 'hero image, hero banner, hero header, hero video, video background, hero video, youtube video background, vimeo video background',
118
+ ),
119
+ 'inboundwp-lite' => array(
120
+ 'class' => 'espbw-marketing',
121
+ 'tags' => 'Spin Wheel, WhatsApp chat Support, Inbound, Inbound marketing, Better Heading, Social Proof, Testimonial, Review, Deal Countdown Timer, Marketing PopUp',
122
+ ),
123
+ 'popup-anything-on-click' => array(
124
+ 'class' => 'espbw-recommended',
125
+ 'tags' => 'modal popup, popup, modal, full screen popup, html popup, image popup, popup on click, modal popup on click, full screen popup on click, click popup',
126
+ ),
127
+ 'portfolio-and-projects' => array(
128
+ 'class' => 'espbw-recommended',
129
+ 'tags' => 'portfolio, portfolio listing, projects, project grid, project portfolio, Responsive Portfolio, portfolio categories, add portfolio, add portfolio plugin, portfolio gallery, portfolio plugin, career portfolio, googole image style, best portfolio, portfolio display, project management',
130
+ ),
131
+ 'maintenance-mode-with-timer' => array(
132
+ 'class' => '',
133
+ 'tags' => 'maintenance mode, coming soon, maintenance mode with timer, maintenance mode with countdown timer, countdown timer, coming soon with countdown timer, offline, site is offline, site offline, under construction, launch, launch page, maintenance',
134
+ ),
135
+ 'preloader-for-website' => array(
136
+ 'class' => '',
137
+ 'tags' => 'page loader, loader, page load animations, animated pre-loader, animated preloader, colorful, customize, Jquery Loader, jquery pre-loader, jquery preloader, loader, pre-loader, preload, preloader',
138
+ ),
139
+ 'search-and-navigation-popup' => array(
140
+ 'class' => '',
141
+ 'tags' => 'serchbox popup, menubar popup, navigation popup, serchbox popup',
142
+ ),
143
+ 'smooth-scroll-by-wpos' => array(
144
+ 'class' => '',
145
+ 'tags' => 'mousewheel scroll, scroll, smooth scroll, scrolling, go to top, back to top, scroll to element, scroll to section, smooth scroll to element, smooth scroll to section',
146
+ ),
147
+ 'ticker-ultimate' => array(
148
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
149
+ 'tags' => 'wponlinesupport, ticker, news ticker, blog ticker, post ticker, ticker slider, ticker vertical slider, ticker horizontal slider',
150
+ ),
151
+ 'wp-blog-and-widgets' => array(
152
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
153
+ 'tags' => 'blog design, blog layout, wordpress blog , custom blog template, wordpress blog widget, blog layout design, custom blog layout, Free wordpress blog, blog custom post type, blog menu, blog page with custom post type, blog, latest blog, custom post type, cpt, widget',
154
+ ),
155
+ 'sp-news-and-widget' => array(
156
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
157
+ 'tags' => 'wordpress news plugin, news website, news page scrolling , wordpress vertical news plugin widget, wordpress horizontal news plugin widget, scrolling news wordpress plugin, scrolling news widget wordpress plugin, WordPress set post or page as news, WordPress dynamic news, news, latest news, custom post type, cpt, widget, vertical news scrolling widget, news widget',
158
+ ),
159
+ 'wp-testimonial-with-widget' => array(
160
+ 'class' => 'espbw-recommended espbw-showcase',
161
+ 'tags' => 'testimonial, Testimonial, testimonials, Testimonials, widget, Best testimonial slider, Responsive testimonial slider, client testimonial slider, easy testimonial slider, testimonials with widget, wordpress testimonial with widget, testimonial rotator, testimonial slider, Testimonial slider, testimonial with shortcode, client testimonial, client quote',
162
+ ),
163
+ 'timeline-and-history-slider' => array(
164
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
165
+ 'tags' => 'timeline slider, life history, history slider, company story timeline, process slider, process, responsive timeline, about us, achievements, Activity Log, awesome company timeline, biography, events timeline, history, history timeline, life achievements, lifestream, story, personal timeline',
166
+ ),
167
+ 'wp-team-showcase-and-slider' => array(
168
+ 'class' => 'espbw-recommended espbw-showcase',
169
+ 'tags' => 'team, teamshowcase, team slider, responsive teamshowcase, teamshowcase rotator, employees, meet team, members, skills, staff, team, v-card, members profile, my team, our team, responsive team display, responsive team, team members, team members profile, team profile, team showcase, tlp team, WordPress Team Member',
170
+ ),
171
+ 'recent-posts-widget-designer' => array(
172
+ 'class' => '',
173
+ 'tags' => 'post widget, post widget with thumbnail, post widget designer, post widget designs, recent post widget with thumbnail, recent post widget designer, recent post widget designs',
174
+ ),
175
+ 'styles-for-wp-pagenavi-addon' => array(
176
+ 'class' => '',
177
+ 'tags' => 'navigation, pagination, paging, pages, navigation, pagenavi style, wp pagenavi styling, pagenavi styling, pagenavi css',
178
+ ),
179
+ 'post-grid-and-filter-ultimate' => array(
180
+ 'class' => 'espbw-post espbw-showcase',
181
+ 'tags' => 'post grid, post, post filter, post category filter, custom post grid, grid display, grid, content grid, filter, post designs, grid designs',
182
+ ),
183
+ 'accordion-and-accordion-slider' => array(
184
+ 'class' => 'espbw-showcase',
185
+ 'tags' => 'accordion, accordion image slider, accordion, horizontal accordion, vertical accordion, responsive accordion, accordion carousel,',
186
+ ),
187
+ 'html5-videogallery-plus-player' => array(
188
+ 'class' => 'espbw-recommended espbw-showcase',
189
+ 'tags' => 'video, youtube video gallery, vimeo video gallery, youtube video gallery with popup, Youtube-video, youtube embed, youtube gallery, youtube player, magnific Popup, vimeo video gallery gallery, HTML5 video player, HTML5 video gallery, wordpress HTML5 video, wordpress HTML5 video player, wordpress HTML5 video gallery, responsive, wordpress responsive video gallery',
190
+ ),
191
+ 'wp-featured-content-and-slider' => array(
192
+ 'class' => 'espbw-recommended espbw-showcase',
193
+ 'tags' => 'content slider, slider, features, services, featured content, featured services, featured content rotator, featured content slider, featured content slideshow, featured posts, featured content slider',
194
+ ),
195
+ 'wp-responsive-recent-post-slider' => array(
196
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
197
+ 'tags' => 'post slider, posts slider, recent post slider, recent posts slider, slider, responsive post slider, responsive posts slider, responsive recent post slider, responsive recent posts slider, wordpress posts slider, post slideshow, posts slideshow, recent posts slideshow',
198
+ ),
199
+ 'blog-designer-for-post-and-widget' => array(
200
+ 'class' => 'espbw-recommended espbw-post espbw-showcase',
201
+ 'tags' => 'post, post design, post designer, post designs, post layout, post layout design, post widget, blog, blog designs, blog design, stylist post, post slider, post grid, recent post, recent post slider, recent post designs, posts in page, post carousel slider',
202
+ ),
203
+ 'wp-slick-slider-and-image-carousel' => array(
204
+ 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
205
+ 'tags' => 'slick, image slider, slick slider, slick image slider, slider, image slider, header image slider, responsive image slider, responsive content slider, carousel, image carousel, carousel slider, content slider, coin slider, touch slider, text slider, responsive slider, responsive slideshow, Responsive Touch Slider, wp slider, wp image slider, wp header image slider, photo slider, responsive photo slider',
206
+ ),
207
+ 'wp-trending-post-slider-and-widget' => array(
208
+ 'class' => 'espbw-post espbw-showcase',
209
+ 'tags' => 'popular post, popular posts, trending, trending posts carousel trending post, trending posts, trending posts carousel, popular posts slider, trending posts slider, widget, shortcodes, slider, post slick slider, trending posts widget, popular posts widget, daily popular, page views, popular posts, top posts',
210
+ ),
211
+ 'audio-player-with-playlist-ultimate' => array(
212
+ 'class' => 'espbw-showcase',
213
+ 'tags' => 'audio player with playlist, album art, artist, audio player, audio player with playlist, multiple player, music player, repeat, shuffle, single player, song title',
214
+ ),
215
+ 'sliderspack-all-in-one-image-sliders' => array(
216
+ 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
217
+ 'tags' => 'logo ticker, bxslider, meta slider, flexslider, fancybox, nivo slider, owl slider, unslider , wallop slider , bx slider, flex slider, rolling slider, image slider, slider, 3d slider, 3d image slider, 3d image carousel, image carousel, carousel, swiper, swiper carousel, Cascade Slider',
218
+ ),
219
+ 'album-and-image-gallery-plus-lightbox' => array(
220
+ 'class' => 'espbw-recommended espbw-showcase',
221
+ 'tags' => 'album, image album, gallery, magnific image slider, image gallery, responsive image gallery, image slider, image gallery slider, gallery slider, album slider, lightbox, albums, best gallery plugin, photo gallery, galleries, gallery, image captions, media gallery, photo albums, photo gallery, photography, Picture Gallery, pictures, responsive galleries, responsive gallery, slideshow galleries, slideshow gallery, thumbnail galleries, thumbnail gallery, wordpress gallery plugin, wordpress photo gallery plugin, wordpress responsive gallery, wp gallery, wp gallery plugins',
222
+ ),
223
+ 'wp-modal-popup-with-cookie-integration' => array(
224
+ 'class' => '',
225
+ 'tags' => 'popup',
226
+ ),
227
+ 'meta-slider-and-carousel-with-lightbox' => array(
228
+ 'class' => 'espbw-recommended espbw-sliders',
229
+ 'tags' => 'frontend gallery slider, frontend gallery Carousel, image slider, image carousel, meta gallery slider, meta gallery carousel, gallery slider, gallery',
230
+ ),
231
+ 'post-category-image-with-grid-and-slider' => array(
232
+ 'class' => 'espbw-sliders espbw-showcase',
233
+ 'tags' => 'category, category image, post category image, post category image grid, post category image slider, customization, custom category image, category featured image, category grid, category slider',
234
+ ),
235
+ 'wp-logo-showcase-responsive-slider-slider' => array(
236
+ 'class' => 'espbw-recommended espbw-showcase',
237
+ 'tags' => 'logo slider, logo slider, widget, client logo carousel, client logo slider, client, customer, image carousel, carousel, logo showcase, Responsive logo slider, Responsive logo carousel, WordPress logo slider, WordPress logo carousel, slick carousel, Best logo showcase, easy logo slider, logo carousel wordpress, logo slider wordpress, sponsors, sponsors slider, sponsors carousel',
238
+ ),
239
+ 'product-categories-designs-for-woocommerce' => array(
240
+ 'class' => 'espbw-woocommerce espbw-showcase',
241
+ 'tags' => 'woocommerce, categories designs, categories slider, categories grid, WooCommerce categories designs, WooCommerce categories slider, WooCommerce categories grid',
242
+ ),
243
+ 'woo-product-slider-and-carousel-with-category' => array(
244
+ 'class' => 'espbw-woocommerce',
245
+ 'tags' => 'woocommerce, best selling products, best selling products slider, slick slider, best selling products by category, shortcode, template code, featured product, featured product slider, Featured product by category, autoplay slider, best product slider, best product slider for woo shop, carousel, clean woo product slider, multiple product slider, product carousel, product content slider, product contents carousel, product slider, product slider carousel for woo, products slider, responsive product slider, responsive product carousel, slider, smooth product slider woo product slider, advance slider, woo best selling products, woo category slider, latest products, most selling products, product carousel slider, recent product carousel, recent product slider',
246
+ ),
247
+ 'slider-and-carousel-plus-widget-for-instagram' => array(
248
+ 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
249
+ 'tags' => 'Custom Instagram Feed, feed, hashtag, instagram, Instagram feed, instagram gallery, Instagram images, Instagram photos, Instagram posts, Instagram wall, lightbox, photos, instagram social feed, show instagram post, responsive instgram, beautiful instagram, instagram widget, instgram plugin, artistic instagram, instagram wordpress, smashing instgram',
250
+ ),
251
+ 'frontend-gallery-slider-for-advanced-custom-field' => array(
252
+ 'class' => 'espbw-recommended espbw-sliders espbw-showcase',
253
+ 'tags' => 'frontend gallery slider, frontend gallery Carousel, slider, acf frontend gallery slider, acf frontend gallery Carousel, acf gallery, acf',
254
+ ),
255
+ );
256
+
257
+ return $plugin_filters;
258
+ }
wpos-plugins/plugins-data.json ADDED
@@ -0,0 +1 @@
 
1
+ {"info":{"page":1,"pages":1,"results":39},"plugins":[{"name":"Accordion and Accordion Slider","slug":"accordion-and-accordion-slider","version":"1.0.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":10,"4":0,"3":0,"2":0,"1":0},"num_ratings":10,"support_threads":1,"support_threads_resolved":1,"active_installs":2000,"downloaded":15979,"last_updated":"2020-08-10 9:12am GMT","added":"2017-10-12","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Accordion and Accordion Slider (Horizontal and Vertical) - Responsive and Touch enabled accordion for WordPress&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/accordion-and-accordion-slider.zip","tags":{"accordion":"Accordion","accordion-image-slider":"accordion image slider","horizontal-accordion":"horizontal accordion","vertical-accordion":"vertical accordion"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/accordion-and-accordion-slider\/assets\/icon-128x128.png?rev=1745171"}},{"name":"Album and Image Gallery plus Lightbox","slug":"album-and-image-gallery-plus-lightbox","version":"1.3.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":98,"ratings":{"5":18,"4":2,"3":0,"2":0,"1":0},"num_ratings":20,"support_threads":1,"support_threads_resolved":1,"active_installs":10000,"downloaded":82102,"last_updated":"2020-09-09 11:53am GMT","added":"2016-08-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display responsive image gallery and image album in&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/album-and-image-gallery-plus-lightbox.zip","tags":{"album":"album","gallery":"gallery","image-album":"image album","magnific-image-slider":"magnific image slider","magnific-popup":"Magnific Popup"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/album-and-image-gallery-plus-lightbox\/assets\/icon-128x128.png?rev=1479228"}},{"name":"App Mockups Carousel","slug":"app-mockups-carousel","version":"1.1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":2,"4":0,"3":0,"2":0,"1":0},"num_ratings":2,"support_threads":1,"support_threads_resolved":0,"active_installs":300,"downloaded":2501,"last_updated":"2020-08-13 9:53am GMT","added":"2017-09-15","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Plugin create custom post type \u2013 App Mock-ups Carousel, add multiple images and settings. Show&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/app-mockups-carousel.zip","tags":{"app-gallery-carousel":"app gallery Carousel","app-gallery-slider":"app gallery slider","app-mockups-carousel":"app mockups carousel","device-gallery-carousel":"device gallery Carousel","swiper":"swiper"},"donate_link":"http:\/\/idangero.us\/donate\/?for=Swiper%20Donation","icons":{"1x":"https:\/\/ps.w.org\/app-mockups-carousel\/assets\/icon-128x128.png?rev=1730298"}},{"name":"Audio Player with Playlist Ultimate","slug":"audio-player-with-playlist-ultimate","version":"1.1.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":72,"ratings":{"5":6,"4":0,"3":0,"2":2,"1":2},"num_ratings":10,"support_threads":3,"support_threads_resolved":1,"active_installs":1000,"downloaded":16729,"last_updated":"2020-08-13 9:54am GMT","added":"2017-09-13","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Audio Player with Playlist Ultimate plugin is a jQuery HTML5 Music\/Audio Player with Playlist comes with huge possibilities and options.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/audio-player-with-playlist-ultimate.zip","tags":{"album-art":"album art","artist":"artist","audio-player":"audio player","audio-player-with-playlist":"audio player with playlist","multiple-player":"multiple player"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/audio-player-with-playlist-ultimate\/assets\/icon-128x128.png?rev=1729068"}},{"name":"Blog Designer &#8211; Post and Widget","slug":"blog-designer-for-post-and-widget","version":"2.0","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":94,"ratings":{"5":20,"4":0,"3":1,"2":0,"1":1},"num_ratings":22,"support_threads":2,"support_threads_resolved":1,"active_installs":10000,"downloaded":113595,"last_updated":"2020-08-13 5:13am GMT","added":"2016-10-22","homepage":"","short_description":"Display Post on your website with 2 designs(Grid and Slider) with 1 widget. Also work&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/blog-designer-for-post-and-widget.zip","tags":{"post":"post","post-design":"post design","post-designer":"post designer","post-designs":"post designs","post-layout":"post layout"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/blog-designer-for-post-and-widget\/assets\/icon-128x128.png?rev=1519671"}},{"name":"Countdown Timer Ultimate","slug":"countdown-timer-ultimate","version":"1.2.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":18,"4":0,"3":2,"2":1,"1":2},"num_ratings":23,"support_threads":7,"support_threads_resolved":3,"active_installs":20000,"downloaded":169243,"last_updated":"2020-08-13 5:15am GMT","added":"2016-10-01","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display responsive Countdown timer on your website. Also&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/countdown-timer-ultimate.zip","tags":{"countdown":"countdown","countdown-timer":"countdown timer","event-countdown-timer":"event countdown timer","timer":"timer","timer-countdown":"timer countdown"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/countdown-timer-ultimate\/assets\/icon-128x128.png?rev=1920759"}},{"name":"Featured Post Creative","slug":"featured-post-creative","version":"1.1.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":84,"ratings":{"5":3,"4":0,"3":2,"2":0,"1":0},"num_ratings":5,"support_threads":1,"support_threads_resolved":0,"active_installs":2000,"downloaded":23750,"last_updated":"2020-08-13 5:33am GMT","added":"2016-10-23","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display Featured post on your website with 2 shortcode and 1 widget. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/featured-post-creative.zip","tags":{"featured-post":"featured post","featured-post-grid":"featured post grid","featured-post-widget":"featured post widget","responsive-featured-post":"responsive featured post","responsive-featured-post-grid":"responsive featured post grid"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/featured-post-creative\/assets\/icon-128x128.png?rev=1520278"}},{"name":"Footer Mega Grid Columns","slug":"footer-mega-grid-columns","version":"1.1.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":92,"ratings":{"5":9,"4":0,"3":0,"2":0,"1":1},"num_ratings":10,"support_threads":1,"support_threads_resolved":1,"active_installs":6000,"downloaded":39089,"last_updated":"2020-08-10 9:07am GMT","added":"2016-12-29","homepage":"","short_description":"Footer Mega Grid Columns - Register a footer widget area for your theme and allow you to add and display footer widgets in grid view with multiple col &hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/footer-mega-grid-columns.zip","tags":{"footer":"footer","footer-widgets":"footer widgets","footer-widgets-in-grid":"footer widgets in grid","simple-footer-editor":"simple footer editor","website-footer":"website footer"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/footer-mega-grid-columns\/assets\/icon-128x128.png?rev=1566023"}},{"name":"Frontend Gallery Slider For ACF","slug":"frontend-gallery-slider-for-advanced-custom-field","version":"1.4","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":3,"4":1,"3":0,"2":0,"1":0},"num_ratings":4,"support_threads":2,"support_threads_resolved":1,"active_installs":2000,"downloaded":16797,"last_updated":"2020-08-13 5:40am GMT","added":"2016-06-29","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display Advanced Custom Field Gallery on frontend of your website with shorcode. Also work with&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/frontend-gallery-slider-for-advanced-custom-field.zip","tags":{"acf-frontend-gallery-slider":"acf frontend gallery slider","frontend-gallery-carousel":"frontend gallery Carousel","frontend-gallery-slider":"frontend gallery slider","slider":"slider","wponlinesupport":"wponlinesupport"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/frontend-gallery-slider-for-advanced-custom-field\/assets\/icon-128x128.png?rev=1445427"}},{"name":"Hero Banner Ultimate","slug":"hero-banner-ultimate","version":"1.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":1,"4":0,"3":0,"2":0,"1":0},"num_ratings":1,"support_threads":2,"support_threads_resolved":0,"active_installs":1000,"downloaded":11500,"last_updated":"2020-08-13 5:34am GMT","added":"2017-08-09","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Add hero banner with the help of background image OR background color OR background video.&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/hero-banner-ultimate.zip","tags":{"hero-banner":"hero banner","hero-header":"hero header","hero-image":"hero image","hero-video":"hero video","video-background":"video background"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/hero-banner-ultimate\/assets\/icon-128x128.png?rev=1710715"}},{"name":"InboundWP &#8211; A Complete Inbound Marketing Pack","slug":"inboundwp-lite","version":"1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":"5.4","rating":100,"ratings":{"5":5,"4":0,"3":0,"2":0,"1":0},"num_ratings":5,"support_threads":2,"support_threads_resolved":2,"active_installs":300,"downloaded":3590,"last_updated":"2020-08-13 5:41am GMT","added":"2019-04-11","homepage":"https:\/\/www.wponlinesupport.com\/wp-plugin\/inboundwp-marketing-plugin\/","short_description":"InboundWP Marketing - Spin Wheel, Deal Countdown Timer, Social Proof, Marketing PopUp, WhatsApp Chat Support,&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/inboundwp-lite.zip","tags":{"better-heading":"Better Heading","inbound":"Inbound","inbound-marketing":"inbound marketing","social-proof":"social proof","spin-wheel":"Spin Wheel"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/inboundwp-lite\/assets\/icon-128x128.png?rev=2066897"}},{"name":"Maintenance Mode with Timer","slug":"maintenance-mode-with-timer","version":"1.0","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":0,"ratings":{"5":0,"4":0,"3":0,"2":0,"1":0},"num_ratings":0,"support_threads":1,"support_threads_resolved":1,"active_installs":100,"downloaded":3480,"last_updated":"2020-08-20 6:56am GMT","added":"2017-01-10","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display maintenance mode with countdown timer on your&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/maintenance-mode-with-timer.zip","tags":{"coming-soon":"coming soon","countdown-timer":"countdown timer","maintenance-mode":"maintenance mode","maintenance-mode-with-countdown-timer":"maintenance mode with countdown timer","maintenance-mode-with-timer":"maintenance mode with timer"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/maintenance-mode-with-timer\/assets\/icon-128x128.png?rev=1575367"}},{"name":"Meta slider and carousel with lightbox","slug":"meta-slider-and-carousel-with-lightbox","version":"1.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":94,"ratings":{"5":13,"4":0,"3":0,"2":0,"1":1},"num_ratings":14,"support_threads":2,"support_threads_resolved":0,"active_installs":7000,"downloaded":87067,"last_updated":"2020-09-01 9:09am GMT","added":"2016-07-22","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Plugin add a gallery meta box in your post, page and create a Image gallery menu tab. Display with a lightbox. Also work with Gutenberg shortcode bloc &hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/meta-slider-and-carousel-with-lightbox.zip","tags":{"frontend-gallery-carousel":"frontend gallery Carousel","frontend-gallery-slider":"frontend gallery slider","image-carousel":"Image carousel","image-slider":"image slider","meta-gallery-slider":"meta gallery slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/meta-slider-and-carousel-with-lightbox\/assets\/icon-128x128.jpg?rev=1458860"}},{"name":"Popup anything on click","slug":"popup-anything-on-click","version":"1.7.7","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":40,"4":1,"3":1,"2":1,"1":5},"num_ratings":48,"support_threads":12,"support_threads_resolved":5,"active_installs":40000,"downloaded":251622,"last_updated":"2020-08-13 4:52am GMT","added":"2017-07-06","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Display a modal popup by clicking on a link, image or button. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/popup-anything-on-click.zip","tags":{"full-screen-popup":"full screen popup","html-popup":"html popup","modal":"modal","modal-popup":"modal popup","popup":"popup"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/popup-anything-on-click\/assets\/icon-128x128.png?rev=1920767"}},{"name":"Portfolio and Projects","slug":"portfolio-and-projects","version":"1.0.7","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":8,"4":0,"3":1,"2":0,"1":0},"num_ratings":9,"support_threads":1,"support_threads_resolved":1,"active_installs":3000,"downloaded":30760,"last_updated":"2020-08-13 9:56am GMT","added":"2017-01-02","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display Portfolio OR Projects in a grid view. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/portfolio-and-projects.zip","tags":{"portfolio":"portfolio","portfolio-listing":"portfolio listing","project-grid":"project grid","project-portfolio":"project portfolio","projects":"projects"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/portfolio-and-projects\/assets\/icon-128x128.png?rev=1566838"}},{"name":"Post Category Image With Grid and Slider","slug":"post-category-image-with-grid-and-slider","version":"1.3.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":4,"4":0,"3":0,"2":0,"1":0},"num_ratings":4,"support_threads":2,"support_threads_resolved":1,"active_installs":2000,"downloaded":16500,"last_updated":"2020-08-13 5:44am GMT","added":"2017-08-25","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Post Category Image With Grid and Slider plugin allow users to upload category image and&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/post-category-image-with-grid-and-slider.zip","tags":{"category":"category","category-image":"category image","post-category-image":"post category image","post-category-image-grid":"post category image grid","post-category-image-slider":"post category image slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/post-category-image-with-grid-and-slider\/assets\/icon-128x128.png?rev=1719140"}},{"name":"Post grid and filter ultimate","slug":"post-grid-and-filter-ultimate","version":"1.2","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":23,"4":0,"3":0,"2":0,"1":0},"num_ratings":23,"support_threads":5,"support_threads_resolved":1,"active_installs":5000,"downloaded":34580,"last_updated":"2020-08-27 10:44am GMT","added":"2017-07-01","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to display WordPress post in grid view and post grid with filter. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/post-grid-and-filter-ultimate.zip","tags":{"custom-post-grid":"custom post grid","post":"post","post-category-filter":"post category filter","post-filter":"post filter","post-grid":"post grid"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/post-grid-and-filter-ultimate\/assets\/icon-128x128.png?rev=1688607"}},{"name":"Post Ticker Ultimate","slug":"ticker-ultimate","version":"1.2.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":92,"ratings":{"5":3,"4":2,"3":0,"2":0,"1":0},"num_ratings":5,"support_threads":1,"support_threads_resolved":1,"active_installs":2000,"downloaded":25342,"last_updated":"2020-08-13 9:58am GMT","added":"2016-10-10","homepage":"","short_description":"Add and display horizontal or vertical post ticker on your website that work with WordPress posts and Custom Post Type with the help of shortcode.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/ticker-ultimate.zip","tags":{"blog-ticker":"blog ticker","news-ticker":"news ticker","post-ticker":"Post ticker","ticker":"ticker","ticker-slider":"ticker slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/ticker-ultimate\/assets\/icon-128x128.png?rev=1511431"}},{"name":"Preloader for Website","slug":"preloader-for-website","version":"1.0.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":1,"4":0,"3":0,"2":0,"1":0},"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"active_installs":400,"downloaded":7953,"last_updated":"2020-08-13 10:14am GMT","added":"2017-01-18","homepage":"","short_description":"Preloader for Website : A loading screen add-on for your WordPress website.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/preloader-for-website.zip","tags":{"animated-pre-loader":"animated pre-loader","animated-preloader":"animated preloader.","loader":"loader","page-load-animations":"page load animations","page-loader":"page loader"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/preloader-for-website\/assets\/icon-128x128.png?rev=1578463"}},{"name":"Product Categories Designs for WooCommerce","slug":"product-categories-designs-for-woocommerce","version":"1.2.2","author":"<a href=\"http:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":80,"ratings":{"5":6,"4":0,"3":0,"2":0,"1":2},"num_ratings":8,"support_threads":1,"support_threads_resolved":1,"active_installs":2000,"downloaded":19735,"last_updated":"2020-08-13 5:47am GMT","added":"2016-09-27","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Display WooCommerce product categories with good designs and grid and silder view. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/product-categories-designs-for-woocommerce.zip","tags":{"categories-designs":"categories Designs","categories-grid":"categories grid","categories-slider":"categories slider","woocommerce-categories-designs":"WooCommerce categories designs","woocommerce-categories-slider":"WooCommerce categories slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/product-categories-designs-for-woocommerce\/assets\/icon-128x128.png?rev=1503311"}},{"name":"Product Slider and Carousel with Category for WooCommerce","slug":"woo-product-slider-and-carousel-with-category","version":"2.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.1","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":38,"4":1,"3":1,"2":3,"1":4},"num_ratings":47,"support_threads":6,"support_threads_resolved":3,"active_installs":10000,"downloaded":149596,"last_updated":"2020-08-14 8:03am GMT","added":"2016-06-27","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Woocommerce Product, Best Selling Product, Featured Product Slider\/Carousel with category. Also work with Gutenberg shortcode&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/woo-product-slider-and-carousel-with-category.zip","tags":{"best-selling-products":"best selling products","best-selling-products-by-category":"best selling products by category","best-selling-products-slider":"best selling products slider","shortcode":"shortcode","slick-slider":"slick slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/woo-product-slider-and-carousel-with-category\/assets\/icon-128x128.png?rev=2136764"}},{"name":"Search and Navigation Popup","slug":"search-and-navigation-popup","version":"1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.3.4","requires_php":false,"rating":100,"ratings":{"5":2,"4":0,"3":0,"2":0,"1":0},"num_ratings":2,"support_threads":1,"support_threads_resolved":1,"active_installs":1000,"downloaded":5103,"last_updated":"2020-01-06 2:45pm GMT","added":"2017-09-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Display a search box OR navigation popup by clicking on a button.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/search-and-navigation-popup.zip","tags":{"full-screen-popup":"full screen popup","menubar-popup":"menubar popup","navigation-popup":"navigation popup","serchbox-popup":"serchbox popup"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/search-and-navigation-popup\/assets\/icon-128x128.png?rev=1732636"}},{"name":"Slider and Carousel Plus Widget for Social Media","slug":"slider-and-carousel-plus-widget-for-instagram","version":"1.9.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":10,"4":3,"3":0,"2":0,"1":2},"num_ratings":15,"support_threads":6,"support_threads_resolved":2,"active_installs":10000,"downloaded":85603,"last_updated":"2020-08-13 5:32am GMT","added":"2017-03-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A very simple plugin to display your social media pictures in","download_link":"https:\/\/downloads.wordpress.org\/plugin\/slider-and-carousel-plus-widget-for-instagram.zip","tags":{"custom-instagram-feed":"custom instagram feed","feed":"feed","hashtag":"hashtag","instagram":"Instagram","instagram-feed":"instagram feed"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/slider-and-carousel-plus-widget-for-instagram\/assets\/icon-128x128.png?rev=2107209"}},{"name":"SlidersPack &#8211; All In One Image\/Post Slider","slug":"sliderspack-all-in-one-image-sliders","version":"1.21","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":15,"4":0,"3":0,"2":0,"1":1},"num_ratings":16,"support_threads":4,"support_threads_resolved":3,"active_installs":3000,"downloaded":26107,"last_updated":"2020-09-21 6:22am GMT","added":"2017-10-24","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"SlidersPack - All In One Image Slider plus FancyBox for WordPress. Also work with WordPress&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/sliderspack-all-in-one-image-sliders.zip","tags":{"bxslider":"bxslider","fancybox":"fancybox","flexslider":"flexslider","logo-ticker":"logo ticker","meta-slider":"Meta slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/sliderspack-all-in-one-image-sliders\/assets\/icon-128x128.png?rev=1751649"}},{"name":"Smooth Scroll by WPOS","slug":"smooth-scroll-by-wpos","version":"1.0","author":"<a href=\"http:\/\/sptechnolab.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.5","tested":"5.5.1","requires_php":false,"rating":84,"ratings":{"5":4,"4":0,"3":0,"2":0,"1":1},"num_ratings":5,"support_threads":1,"support_threads_resolved":0,"active_installs":600,"downloaded":5714,"last_updated":"2020-08-13 5:30am GMT","added":"2017-05-05","homepage":"","short_description":"A simple plugin contains Smooth Scrolling To Element, Go To Top and MouseWheel Smooth Scroll. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/smooth-scroll-by-wpos.zip","tags":{"go-to-top":"go-to-top","mousewheel-scroll":"mousewheel scroll","scroll":"scroll","scrolling":"scrolling","smooth-scroll":"smooth scroll"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/smooth-scroll-by-wpos\/assets\/icon-128x128.png?rev=1651456"}},{"name":"Styles For WP Pagenavi Addon","slug":"styles-for-wp-pagenavi-addon","version":"1.0.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"3.1","tested":"5.4.2","requires_php":false,"rating":100,"ratings":{"5":1,"4":0,"3":0,"2":0,"1":0},"num_ratings":1,"support_threads":1,"support_threads_resolved":0,"active_installs":1000,"downloaded":11679,"last_updated":"2020-07-14 10:29am GMT","added":"2017-10-02","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"Adds a more styling options to Wp-PageNavi WordPress plugin OR the_posts_pagination() WordPress navigation function.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/styles-for-wp-pagenavi-addon.zip","tags":{"navigation":"navigation","pages":"pages","pagination":"pagination","paging":"paging"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/styles-for-wp-pagenavi-addon\/assets\/icon-128x128.png?rev=1739334"}},{"name":"Timeline and History slider","slug":"timeline-and-history-slider","version":"1.3.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":21,"4":2,"3":0,"2":1,"1":4},"num_ratings":28,"support_threads":6,"support_threads_resolved":5,"active_installs":6000,"downloaded":45355,"last_updated":"2020-08-13 5:23am GMT","added":"2016-07-22","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Timeline Plugin for WordPress. Easy to add and display history OR timeline for your WordPress website. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/timeline-and-history-slider.zip","tags":{"biography":"biography","company-timeline":"company timeline","history-slider":"history slider","responsive-timeline":"Responsive Timeline","timeline-slider":"timeline slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/timeline-and-history-slider\/assets\/icon-128x128.jpg?rev=1458943"}},{"name":"Trending\/Popular Post Slider and Widget","slug":"wp-trending-post-slider-and-widget","version":"1.3.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":96,"ratings":{"5":15,"4":0,"3":0,"2":1,"1":0},"num_ratings":16,"support_threads":4,"support_threads_resolved":1,"active_installs":6000,"downloaded":66991,"last_updated":"2020-08-13 5:28am GMT","added":"2016-02-26","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add Popular\/Trending posts slider, grid block and widget. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-trending-post-slider-and-widget.zip","tags":{"popular-post":"Popular post","popular-posts":"popular posts","trending-post":"trending post","trending-posts":"trending posts","trending-posts-carousel":"trending posts carousel"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-trending-post-slider-and-widget\/assets\/icon-128x128.png?rev=1358591"}},{"name":"Video gallery and Player","slug":"html5-videogallery-plus-player","version":"2.3.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":11,"4":1,"3":0,"2":0,"1":2},"num_ratings":14,"support_threads":1,"support_threads_resolved":1,"active_installs":3000,"downloaded":71909,"last_updated":"2020-08-13 5:11am GMT","added":"2013-10-26","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Easy to add and display your HTML5, YouTube, Vimeo vedio gallery with Magnific Popup to&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/html5-videogallery-plus-player.zip","tags":{"html5-video":"HTML5 video","video":"video","video-gallery":"video gallery","video-js":"video js","youtube-video-gallery":"Youtube video gallery"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/html5-videogallery-plus-player\/assets\/icon-128x128.png?rev=1450994"}},{"name":"WP Blog and Widget","slug":"wp-blog-and-widgets","version":"1.9","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":19,"4":2,"3":1,"2":0,"1":2},"num_ratings":24,"support_threads":3,"support_threads_resolved":1,"active_installs":10000,"downloaded":231793,"last_updated":"2020-08-28 6:25am GMT","added":"2015-09-22","homepage":"","short_description":"A quick, easy way to add a Blog custom post type, Blog widget to WordPress. Also, work with the Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-blog-and-widgets.zip","tags":{"blog-design":"blog design","blog-layout":"blog layout","custom-blog-template":"custom blog template","wordpress-blog":"wordpress blog","wordpress-blog-widget":"wordpress blog widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-blog-and-widgets\/assets\/icon-128x128.png?rev=1402789"}},{"name":"WP Featured Content and Slider","slug":"wp-featured-content-and-slider","version":"1.3.5","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":100,"ratings":{"5":8,"4":0,"3":0,"2":0,"1":0},"num_ratings":8,"support_threads":1,"support_threads_resolved":0,"active_installs":4000,"downloaded":58126,"last_updated":"2020-08-13 5:22am GMT","added":"2015-11-20","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display what features your company, product or service offers, using our shortcode OR template code.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-featured-content-and-slider.zip","tags":{"content-slider":"content slider","featured":"featured","features":"features","services":"services","slider":"slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-featured-content-and-slider\/assets\/icon-128x128.png?rev=1402791"}},{"name":"WP Logo Showcase Responsive Slider","slug":"wp-logo-showcase-responsive-slider-slider","version":"2.6","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":98,"ratings":{"5":80,"4":0,"3":0,"2":0,"1":3},"num_ratings":83,"support_threads":6,"support_threads_resolved":6,"active_installs":60000,"downloaded":518146,"last_updated":"2020-08-14 7:19am GMT","added":"2015-11-04","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display Multiple reponsive logo slideshow carousel to your site quickly and easily. Also added Gutenberg block support.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-logo-showcase-responsive-slider-slider.zip","tags":{"client":"Client","client-logo-carousel":"client logo carousel","client-logo-slider":"client logo slider","logo-slider":"logo slider","widget":"widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-logo-showcase-responsive-slider-slider\/assets\/icon-128x128.png?rev=1279325"}},{"name":"WP Modal Popup with Cookie Integration","slug":"wp-modal-popup-with-cookie-integration","version":"2.0","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":6,"4":1,"3":0,"2":1,"1":0},"num_ratings":8,"support_threads":1,"support_threads_resolved":1,"active_installs":4000,"downloaded":44701,"last_updated":"2020-08-13 10:11am GMT","added":"2016-02-27","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"WP Modal Popup with Cookie Integration is the smart, responsive, customizable and beautifully coded popup for visitors with cookie integration.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-modal-popup-with-cookie-integration.zip","tags":{"advertise":"advertise","lightbox":"lightbox","marketing":"marketing","pop-over":"pop over","pop-up":"pop up"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-modal-popup-with-cookie-integration\/assets\/icon-128x128.png?rev=1359371"}},{"name":"WP News and Scrolling Widgets","slug":"sp-news-and-widget","version":"4.3","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":57,"4":1,"3":1,"2":0,"1":10},"num_ratings":69,"support_threads":4,"support_threads_resolved":2,"active_installs":20000,"downloaded":344675,"last_updated":"2020-09-09 11:51am GMT","added":"2013-10-16","homepage":"","short_description":"A quick, easy way to add a News custom post type, News widget, vertical scrolling&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/sp-news-and-widget.zip","tags":{"main-news-page-scrolling":"main news page scrolling","news-website":"news website","wordpress-horizontal-news-plugin-widget":"wordpress horizontal news plugin widget","wordpress-news-plugin":"wordpress news plugin","wordpress-vertical-news-plugin-widget":"wordpress vertical news plugin widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/sp-news-and-widget\/assets\/icon-128x128.png?rev=1402776"}},{"name":"WP responsive FAQ with category plugin","slug":"sp-faq","version":"3.3.4","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":86,"ratings":{"5":12,"4":0,"3":1,"2":0,"1":2},"num_ratings":15,"support_threads":1,"support_threads_resolved":0,"active_installs":7000,"downloaded":80089,"last_updated":"2020-08-13 5:19am GMT","added":"2013-10-15","homepage":"","short_description":"A quick, easy way to add an responsive FAQs page. You can use this plugin as a jquery ui accordion. Also work with Gutenberg shortcode block.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/sp-faq.zip","tags":{"faq":"faq","faq-list":"faq list","faq-plugin":"faq plugin","faqs":"faqs","jquery-ui":"jquery ui"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/sp-faq\/assets\/icon-128x128.png?rev=1402779"}},{"name":"WP Responsive Recent Post Slider\/Carousel","slug":"wp-responsive-recent-post-slider","version":"2.4","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":94,"ratings":{"5":76,"4":0,"3":4,"2":3,"1":3},"num_ratings":86,"support_threads":9,"support_threads_resolved":8,"active_installs":30000,"downloaded":400542,"last_updated":"2020-09-22 7:22am GMT","added":"2015-11-12","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Add and display Responsive WordPresss Recent Post Slider and Carousel on your website with 4&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-responsive-recent-post-slider.zip","tags":{"post-slider":"post slider","posts-slider":"posts slider","recent-post-slider":"recent post slider","recent-posts-slider":"recent posts slider","slider":"slider"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-responsive-recent-post-slider\/assets\/icon-128x128.png?rev=1402785"}},{"name":"WP Slick Slider and Image Carousel","slug":"wp-slick-slider-and-image-carousel","version":"2.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":88,"ratings":{"5":41,"4":3,"3":3,"2":0,"1":6},"num_ratings":53,"support_threads":8,"support_threads_resolved":5,"active_installs":20000,"downloaded":259786,"last_updated":"2020-08-14 7:56am GMT","added":"2015-11-17","homepage":"https:\/\/www.wponlinesupport.com\/plugins","short_description":"A quick, easy way to add and display mulipale WP Slick Slider and carousel using a shortcode. Also added Gutenberg block support.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-slick-slider-and-image-carousel.zip","tags":{"image-slider":"image slider","slick":"slick","slick-image-slider":"slick image slider","slick-slider":"slick slider","wponlinesupport":"wponlinesupport"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-slick-slider-and-image-carousel\/assets\/icon-128x128.png?rev=1443298"}},{"name":"WP Team Showcase and Slider","slug":"wp-team-showcase-and-slider","version":"2.1.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":92,"ratings":{"5":15,"4":0,"3":1,"2":0,"1":1},"num_ratings":17,"support_threads":1,"support_threads_resolved":1,"active_installs":5000,"downloaded":65650,"last_updated":"2020-08-13 5:00am GMT","added":"2016-01-09","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"Easy to add and display your employees, team members in Grid view and Slider view.&hellip;","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-team-showcase-and-slider.zip","tags":{"responsive-teamshowcase":"responsive teamshowcase","slider":"slider","team":"team","team-slider":"team slider","teamshowcase":"teamshowcase"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-team-showcase-and-slider\/assets\/icon-128x128.png?rev=2218871"}},{"name":"WP Testimonials with rotator widget","slug":"wp-testimonial-with-widget","version":"2.5.1","author":"<a href=\"https:\/\/www.wponlinesupport.com\/\">WP OnlineSupport<\/a>","author_profile":"https:\/\/profiles.wordpress.org\/wponlinesupport","requires":"4.0","tested":"5.5.1","requires_php":false,"rating":90,"ratings":{"5":20,"4":0,"3":0,"2":0,"1":3},"num_ratings":23,"support_threads":1,"support_threads_resolved":0,"active_installs":10000,"downloaded":97865,"last_updated":"2020-08-13 5:00am GMT","added":"2015-09-07","homepage":"https:\/\/www.wponlinesupport.com\/plugins\/","short_description":"A quick, easy way to add and display responsive, clean client&#039;s testimonial on your website using a shortcode or a widget.","download_link":"https:\/\/downloads.wordpress.org\/plugin\/wp-testimonial-with-widget.zip","tags":{"testimonial":"Testimonial","testimonials":"testimonials","widget":"widget"},"donate_link":"","icons":{"1x":"https:\/\/ps.w.org\/wp-testimonial-with-widget\/assets\/icon-128x128.png?rev=1402790"}}]}
wpos-plugins/wpos-recommendation.php ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * WPOS Recommended Plugins
4
+ *
5
+ * @author WP Online Support
6
+ * @package Essential Plugins Bundle
7
+ * @since 1.0
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ if ( ! class_exists( 'WPOS_ESPBW' ) ) :
15
+
16
+ /**
17
+ * Main Recommended Plugins Class By WP Online Support.
18
+ *
19
+ * @since 1.0
20
+ */
21
+ final class WPOS_ESPBW {
22
+
23
+ /**
24
+ * @var Instance
25
+ * @since 1.0
26
+ */
27
+ protected static $instance = null;
28
+
29
+ /**
30
+ * Main Instance.
31
+ *
32
+ * Insures that only one instance of Analytics exists in memory at any one time.
33
+ * Also prevents needing to define globals all over the place.
34
+ *
35
+ * @since 1.0
36
+ * @uses WPOS_ESPBW::setup_constants() Setup the constants needed.
37
+ * @uses WPOS_ESPBW::includes() Include the required files.
38
+ * @uses WPOS_ESPBW::wpos_espbw_plugins_loaded() load the language files.
39
+ * @see WPOS_ESPBW()
40
+ * @return object the one true instance
41
+ */
42
+ public static function instance() {
43
+ if ( is_null( self::$instance ) ) {
44
+ self::$instance = new self();
45
+ }
46
+ return self::$instance;
47
+ }
48
+
49
+ /**
50
+ * Throw error on object clone.
51
+ *
52
+ * The whole idea of the singleton design pattern is that there is a single object therefore, we don't want the object to be cloned.
53
+ *
54
+ * @since 1.0
55
+ * @access protected
56
+ * @return void
57
+ */
58
+ public function __clone() {
59
+ // Cloning instances of the class is forbidden.
60
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' ), '1.0' );
61
+ }
62
+
63
+ /**
64
+ * Disable unserializing of the class.
65
+ *
66
+ * @since 1.0
67
+ * @access protected
68
+ * @return void
69
+ */
70
+ public function __wakeup() {
71
+ // Unserializing instances of the class is forbidden.
72
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' ), '1.0' );
73
+ }
74
+
75
+ /**
76
+ * Plugin Constructor.
77
+ */
78
+ public function __construct() {
79
+ $this->setup_constants();
80
+ $this->includes();
81
+ }
82
+
83
+ /**
84
+ * Define constant if not already set.
85
+ *
86
+ * @param string $name
87
+ * @param string|bool $value
88
+ */
89
+ public function define( $name, $value ) {
90
+ if ( ! defined( $name ) ) {
91
+ define( $name, $value );
92
+ }
93
+ }
94
+
95
+ /**
96
+ * Setup plugin constants. Basic plugin definitions
97
+ *
98
+ * @access private
99
+ * @since 1.0
100
+ */
101
+ private function setup_constants() {
102
+ $this->define( 'WPOS_ESPBW_VERSION', '1.0' );
103
+ $this->define( 'WPOS_ESPBW_DIR', plugin_dir_path( __FILE__ ) );
104
+ $this->define( 'WPOS_ESPBW_URL', plugin_dir_url( __FILE__ ) );
105
+ }
106
+
107
+ /**
108
+ * Include required files.
109
+ *
110
+ * @access private
111
+ * @since 1.0
112
+ */
113
+ private function includes() {
114
+
115
+ // Functions file
116
+ require_once WPOS_ESPBW_DIR .'/includes/espbw-functions.php';
117
+
118
+ // Script Class
119
+ require_once WPOS_ESPBW_DIR .'/includes/class-espbw-script.php';
120
+
121
+ // Admin Class
122
+ require_once WPOS_ESPBW_DIR .'/includes/admin/class-espbw-admin.php';
123
+ }
124
+ }
125
+
126
+ /**
127
+ * The main function responsible for returning the one true
128
+ * Instance to functions everywhere.
129
+ *
130
+ * Use this function like you would a global variable, except without needing
131
+ * to declare the global.
132
+ *
133
+ * Example: <?php $wpos_espbw = WPOS_ESPBW(); ?>
134
+ *
135
+ * @since 1.0
136
+ * @return object The one true Analytics Instance.
137
+ */
138
+ function WPOS_ESPBW_RECOMMEND() {
139
+ return WPOS_ESPBW::instance();
140
+ }
141
+
142
+ /**
143
+ *
144
+ * Initialize Analytics Module
145
+ *
146
+ * @since 1.0
147
+ * @return object The one true Analytics Instance.
148
+ */
149
+ function wpos_espbw_init_module( $args = array() ) {
150
+
151
+ global $wpos_espbw_module;
152
+
153
+ $defaul_args = array(
154
+ 'prefix' => '',
155
+ 'menu' => false,
156
+ 'position' => 4,
157
+ );
158
+
159
+ $args = wp_parse_args( $args, $defaul_args );
160
+
161
+ // If required data is not there then simply return
162
+ if( empty( $args['menu'] ) ) {
163
+ return false;
164
+ }
165
+
166
+ // Taking some variables
167
+ $wpos_espbw_module = ! empty( $wpos_espbw_module ) ? $wpos_espbw_module : array();
168
+ $wpos_espbw_module[] = $args;
169
+
170
+ return $wpos_espbw_module;
171
+ }
172
+
173
+ /**
174
+ *
175
+ * Initialize Analytics Class Once all stuff has been loaded
176
+ *
177
+ * @since 1.0
178
+ * @return object The one true Analytics Instance.
179
+ */
180
+ function wpos_espbw_plugins_loaded() {
181
+
182
+ // Get Analytics Running.
183
+ WPOS_ESPBW_RECOMMEND();
184
+ }
185
+ add_action( 'plugins_loaded', 'wpos_espbw_plugins_loaded', 12 );
186
+
187
+ endif; // End if class_exists check