Version Description
Feb 23, 2022 = * New: Elementor Addons for WP Carousel. * New: The alt tag of the preloader image is added. * Fix: WordPress 5.9 Gutenberg block compatibility issue.
Download this release
Release Info
Developer | shapedplugin |
Plugin | Carousel, Slider, Gallery by WP Carousel – Image Carousel & Photo Gallery, Post Carousel & Post Grid, Product Carousel & Product Grid for WooCommerce |
Version | 2.4.4 |
Comparing to | |
See all releases |
Code changes from version 2.4.3 to 2.4.4
- admin/ElementAddons/Wp_Carousel_Shortcode_Widget.php +146 -0
- admin/GutenbergBlock/build/index.asset.php +0 -1
- admin/GutenbergBlock/build/index.js +15 -5
- admin/GutenbergBlock/build/index.js.map +0 -1
- admin/GutenbergBlock/class-wp-carousel-free-gutenberg-block-init.php +1 -1
- admin/class-wp-carousel-free-elementor-block.php +136 -0
- admin/css/fontello.css +57 -0
- admin/font/fontello.eot +0 -0
- admin/font/fontello.svg +12 -0
- admin/font/fontello.ttf +0 -0
- admin/font/fontello.woff +0 -0
- admin/font/fontello.woff2 +0 -0
- languages/wp-carousel-free.pot +0 -0
- public/css/wp-carousel-free-public.css +5 -1
- public/css/wp-carousel-free-public.min.css +1 -1
- public/templates/preloader.php +1 -1
- readme.txt +7 -2
- wp-carousel-free.php +10 -4
admin/ElementAddons/Wp_Carousel_Shortcode_Widget.php
ADDED
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Elementor wp carousel shortcode Widget.
|
4 |
+
*
|
5 |
+
* @since 2.4.1
|
6 |
+
*/
|
7 |
+
class Wp_Carousel_Shortcode_Widget extends \Elementor\Widget_Base {
|
8 |
+
/**
|
9 |
+
* Get widget name.
|
10 |
+
*
|
11 |
+
* @since 2.4.1
|
12 |
+
* @access public
|
13 |
+
*
|
14 |
+
* @return string Widget name.
|
15 |
+
*/
|
16 |
+
public function get_name() {
|
17 |
+
return 'sp_wp_carousel_shortcode';
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Get widget title.
|
22 |
+
*
|
23 |
+
* @since 2.4.1
|
24 |
+
* @access public
|
25 |
+
*
|
26 |
+
* @return string Widget title.
|
27 |
+
*/
|
28 |
+
public function get_title() {
|
29 |
+
return __( 'WP Carousel Free', 'wp-carousel-Free' );
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Get widget icon.
|
34 |
+
*
|
35 |
+
* @since 2.4.1
|
36 |
+
* @access public
|
37 |
+
*
|
38 |
+
* @return string Widget icon.
|
39 |
+
*/
|
40 |
+
public function get_icon() {
|
41 |
+
return 'icon-wpc-block';
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Get widget categories.
|
46 |
+
*
|
47 |
+
* @since 2.4.1
|
48 |
+
* @access public
|
49 |
+
*
|
50 |
+
* @return array Widget categories.
|
51 |
+
*/
|
52 |
+
public function get_categories() {
|
53 |
+
return array( 'basic' );
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Get all post list.
|
58 |
+
*
|
59 |
+
* @since 2.4.1
|
60 |
+
* @return array
|
61 |
+
*/
|
62 |
+
public function sp_wp_carousel_free_post_list() {
|
63 |
+
$post_list = array();
|
64 |
+
$sp_wp_carousel_posts = new \WP_Query(
|
65 |
+
array(
|
66 |
+
'post_type' => 'sp_wp_carousel',
|
67 |
+
'post_status' => 'publish',
|
68 |
+
'posts_per_page' => 9999,
|
69 |
+
)
|
70 |
+
);
|
71 |
+
$posts = $sp_wp_carousel_posts->posts;
|
72 |
+
foreach ( $posts as $post ) {
|
73 |
+
$post_list[ $post->ID ] = $post->post_title;
|
74 |
+
}
|
75 |
+
krsort( $post_list );
|
76 |
+
return $post_list;
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Controls register.
|
81 |
+
*
|
82 |
+
* @return void
|
83 |
+
*/
|
84 |
+
protected function _register_controls() {
|
85 |
+
$this->start_controls_section(
|
86 |
+
'content_section',
|
87 |
+
array(
|
88 |
+
'label' => __( 'Content', 'wp-carousel-free' ),
|
89 |
+
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
|
90 |
+
)
|
91 |
+
);
|
92 |
+
|
93 |
+
$this->add_control(
|
94 |
+
'sp_wp_carousel_free_shortcode',
|
95 |
+
array(
|
96 |
+
'label' => __( 'WP Carousel Shortcode(s)', 'wp-carousel-free' ),
|
97 |
+
'type' => \Elementor\Controls_Manager::SELECT2,
|
98 |
+
'label_block' => true,
|
99 |
+
'default' => '',
|
100 |
+
'options' => $this->sp_wp_carousel_free_post_list(),
|
101 |
+
)
|
102 |
+
);
|
103 |
+
|
104 |
+
$this->end_controls_section();
|
105 |
+
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Render wp carousel shortcode widget output on the frontend.
|
110 |
+
*
|
111 |
+
* @since 2.4.1
|
112 |
+
* @access protected
|
113 |
+
*/
|
114 |
+
protected function render() {
|
115 |
+
|
116 |
+
$settings = $this->get_settings_for_display();
|
117 |
+
$sp_wp_carousel_shortcode = $settings['sp_wp_carousel_free_shortcode'];
|
118 |
+
|
119 |
+
if ( '' === $sp_wp_carousel_shortcode ) {
|
120 |
+
echo '<div style="text-align: center; margin-top: 0; padding: 10px" class="elementor-add-section-drag-title">Select a shortcode</div>';
|
121 |
+
return;
|
122 |
+
}
|
123 |
+
|
124 |
+
$post_id = $sp_wp_carousel_shortcode;
|
125 |
+
|
126 |
+
if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
|
127 |
+
// Preset Layouts.
|
128 |
+
$upload_data = get_post_meta( $post_id, 'sp_wpcp_upload_options', true );
|
129 |
+
$shortcode_data = get_post_meta( $post_id, 'sp_wpcp_shortcode_options', true );
|
130 |
+
$main_section_title = get_the_title( $post_id );
|
131 |
+
|
132 |
+
WP_Carousel_Free_Shortcode::wpcf_html_show( $upload_data, $shortcode_data, $post_id, $main_section_title );
|
133 |
+
?>
|
134 |
+
<script>
|
135 |
+
jQuery('#wpcp-preloader-' + <?php echo esc_attr( $post_id ); ?>).animate({ opacity: 0 }, 600).remove();
|
136 |
+
jQuery('#sp-wp-carousel-free-id-' + <?php echo esc_attr( $post_id ); ?>).animate({ opacity: 1 }, 600);
|
137 |
+
</script>
|
138 |
+
<script src="<?php echo esc_url( WPCAROUSELF_URL . 'public/js/wp-carousel-free-public.min.js' ); ?>" ></script>
|
139 |
+
<?php
|
140 |
+
} else {
|
141 |
+
echo do_shortcode( ' [sp_wpcarousel id="' . $post_id . '"]' );
|
142 |
+
}
|
143 |
+
|
144 |
+
}
|
145 |
+
|
146 |
+
}
|
admin/GutenbergBlock/build/index.asset.php
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<?php return array('dependencies' => array('wp-element', 'wp-escape-html'), 'version' => '7281eec516c5022e7db405b3a61aad80');
|
|
admin/GutenbergBlock/build/index.js
CHANGED
@@ -75,6 +75,16 @@ const DynamicShortcodeInput = _ref => {
|
|
75 |
|
76 |
/***/ }),
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
/***/ "@wordpress/element":
|
79 |
/*!*********************************!*\
|
80 |
!*** external ["wp","element"] ***!
|
@@ -176,6 +186,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
176 |
/* harmony import */ var _shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shortcode/dynamicShortcode */ "./src/shortcode/dynamicShortcode.js");
|
177 |
/* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/escape-html */ "@wordpress/escape-html");
|
178 |
/* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
|
|
|
|
179 |
|
180 |
|
181 |
|
@@ -190,9 +203,6 @@ const {
|
|
190 |
PanelBody,
|
191 |
PanelRow
|
192 |
} = wp.components;
|
193 |
-
const {
|
194 |
-
InspectorControls
|
195 |
-
} = wp.editor;
|
196 |
const {
|
197 |
Fragment
|
198 |
} = wp.element;
|
@@ -287,7 +297,7 @@ registerBlockType("sp-wp-carousel-free/shortcode", {
|
|
287 |
}
|
288 |
|
289 |
if (!attributes.shortcode || attributes.shortcode == 0) {
|
290 |
-
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelBody, {
|
291 |
title: "Select a shortcode"
|
292 |
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelRow, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
293 |
attributes: attributes,
|
@@ -307,7 +317,7 @@ registerBlockType("sp-wp-carousel-free/shortcode", {
|
|
307 |
})));
|
308 |
}
|
309 |
|
310 |
-
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelBody, {
|
311 |
title: "Select a shortcode"
|
312 |
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelRow, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
313 |
attributes: attributes,
|
75 |
|
76 |
/***/ }),
|
77 |
|
78 |
+
/***/ "@wordpress/block-editor":
|
79 |
+
/*!*************************************!*\
|
80 |
+
!*** external ["wp","blockEditor"] ***!
|
81 |
+
\*************************************/
|
82 |
+
/***/ (function(module) {
|
83 |
+
|
84 |
+
module.exports = window["wp"]["blockEditor"];
|
85 |
+
|
86 |
+
/***/ }),
|
87 |
+
|
88 |
/***/ "@wordpress/element":
|
89 |
/*!*********************************!*\
|
90 |
!*** external ["wp","element"] ***!
|
186 |
/* harmony import */ var _shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shortcode/dynamicShortcode */ "./src/shortcode/dynamicShortcode.js");
|
187 |
/* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/escape-html */ "@wordpress/escape-html");
|
188 |
/* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__);
|
189 |
+
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
|
190 |
+
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__);
|
191 |
+
|
192 |
|
193 |
|
194 |
|
203 |
PanelBody,
|
204 |
PanelRow
|
205 |
} = wp.components;
|
|
|
|
|
|
|
206 |
const {
|
207 |
Fragment
|
208 |
} = wp.element;
|
297 |
}
|
298 |
|
299 |
if (!attributes.shortcode || attributes.shortcode == 0) {
|
300 |
+
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__.InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelBody, {
|
301 |
title: "Select a shortcode"
|
302 |
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelRow, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
303 |
attributes: attributes,
|
317 |
})));
|
318 |
}
|
319 |
|
320 |
+
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__.InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelBody, {
|
321 |
title: "Select a shortcode"
|
322 |
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelRow, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
323 |
attributes: attributes,
|
admin/GutenbergBlock/build/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://wp-carousel-free-gutenberg-shortcode-block/./src/shortcode/blockIcon.js","webpack://wp-carousel-free-gutenberg-shortcode-block/./src/shortcode/dynamicShortcode.js","webpack://wp-carousel-free-gutenberg-shortcode-block/external window [\"wp\",\"element\"]","webpack://wp-carousel-free-gutenberg-shortcode-block/external window [\"wp\",\"escapeHtml\"]","webpack://wp-carousel-free-gutenberg-shortcode-block/webpack/bootstrap","webpack://wp-carousel-free-gutenberg-shortcode-block/webpack/runtime/compat get default export","webpack://wp-carousel-free-gutenberg-shortcode-block/webpack/runtime/define property getters","webpack://wp-carousel-free-gutenberg-shortcode-block/webpack/runtime/hasOwnProperty shorthand","webpack://wp-carousel-free-gutenberg-shortcode-block/webpack/runtime/make namespace object","webpack://wp-carousel-free-gutenberg-shortcode-block/./src/index.js"],"sourcesContent":["import { escapeAttribute } from \"@wordpress/escape-html\";\r\nconst el = wp.element.createElement;\r\nconst icons = {};\r\nicons.spwpcfIcon = el('img', {src: escapeAttribute( sp_wp_carousel_free.url + 'admin/GutenbergBlock/src/wp-carousel-icon.svg' )})\r\nexport default icons;","/**\r\n * Shortcode select component.\r\n */\r\n import { escapeAttribute, escapeHTML } from \"@wordpress/escape-html\";\r\n const { __ } = wp.i18n;\r\n const { Fragment } = wp.element;\r\n const el = wp.element.createElement;\r\n \r\n const DynamicShortcodeInput = ( { attributes : { shortcode, shortcodelist}, shortcodeUpdate } ) => (\r\n <Fragment>\r\n {el('div', {className: 'spwpcf-gutenberg-shortcode editor-styles-wrapper'},\r\n el('select', {className: 'spwpcf-shortcode-selector', onChange: e => shortcodeUpdate(e), value: escapeAttribute( shortcode ) },\r\n el('option', {value: escapeAttribute('0')}, escapeHTML( __( '-- Select a shortcode --', 'wp-carousel-free' ))),\r\n shortcodelist.map( shortcode => {\r\n var title = (shortcode.title.length > 35) ? shortcode.title.substring(0,30) + '.... #(' + shortcode.id + ')' : shortcode.title + ' #(' + shortcode.id + ')';\r\n return el('option', {value: escapeAttribute( shortcode.id.toString() ), key: escapeAttribute( shortcode.id.toString() )}, escapeHTML( title ) )\r\n })\r\n )\r\n )}\r\n </Fragment>\r\n );\r\n \r\n export default DynamicShortcodeInput;","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"escapeHtml\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import icons from \"./shortcode/blockIcon\";\r\nimport DynamicShortcodeInput from \"./shortcode/dynamicShortcode\";\r\nimport { escapeAttribute, escapeHTML } from \"@wordpress/escape-html\";\r\n\r\nconst { __ } = wp.i18n;\r\nconst { registerBlockType } = wp.blocks;\r\nconst { PanelBody, PanelRow } = wp.components;\r\nconst { InspectorControls } = wp.editor;\r\nconst { Fragment } = wp.element;\r\nconst ServerSideRender = wp.serverSideRender;\r\nconst el = wp.element.createElement;\r\n\r\n/**\r\n * Register: aa Gutenberg Block.\r\n */\r\nregisterBlockType(\"sp-wp-carousel-free/shortcode\", {\r\n title: escapeHTML( __(\"WP Carousel\", \"wp-carousel-free\") ),\r\n description: escapeHTML( __(\r\n \"Use WP Carousel to insert a carousel or gallery in your page.\",\r\n \"wp-carousel-free\"\r\n )),\r\n icon: icons.spwpcfIcon,\r\n category: \"common\",\r\n supports: {\r\n html: true,\r\n },\r\n edit: (props) => {\r\n const { attributes, setAttributes } = props;\r\n \r\n let scriptLoad = ( shortcodeId ) => {\r\n let spwpcfBlockLoaded = false;\r\n let spwpcfBlockLoadedInterval = setInterval(function () {\r\n let uniqId = jQuery(\".wpcp-wrapper-\" + shortcodeId).parents().attr('id');\r\n if (document.getElementById(uniqId)) {\r\n //Actual functions goes here\r\n jQuery.getScript(sp_wp_carousel_free.loadScript);\r\n jQuery('#wpcp-preloader-' + shortcodeId).animate({ opacity: 0 }, 600).remove();\r\n jQuery('#sp-wp-carousel-free-id-' + shortcodeId).animate({ opacity: 1 }, 600);\r\n spwpcfBlockLoaded = true;\r\n uniqId = '';\r\n }\r\n if (spwpcfBlockLoaded) {\r\n clearInterval(spwpcfBlockLoadedInterval);\r\n }\r\n if ( 0 == shortcodeId ) {\r\n clearInterval(spwpcfBlockLoadedInterval);\r\n }\r\n }, 10);\r\n }\r\n\r\n let updateShortcode = ( updateShortcode ) => {\r\n setAttributes({shortcode: escapeAttribute( updateShortcode.target.value )});\r\n }\r\n\r\n let shortcodeUpdate = (e) => {\r\n updateShortcode(e);\r\n let shortcodeId = escapeAttribute( e.target.value );\r\n scriptLoad(shortcodeId);\r\n }\r\n\r\n document.addEventListener('readystatechange', event => {\r\n if (event.target.readyState === \"complete\") {\r\n let shortcodeId = escapeAttribute( attributes.shortcode );\r\n scriptLoad(shortcodeId);\r\n }\r\n });\r\n\r\n if( attributes.preview ) {\r\n return (\r\n el('div', {className: 'spwpcf_shortcode_block_preview_image'},\r\n el('img', { src: escapeAttribute( sp_wp_carousel_free.url + \"admin/GutenbergBlock/src/wpc-block-preview.svg\" )})\r\n )\r\n )\r\n }\r\n\r\n if (attributes.shortcodelist.length === 0 ) {\r\n return (\r\n <Fragment>\r\n {\r\n el('div', {className: 'components-placeholder components-placeholder is-large'}, \r\n el('div', {className: 'components-placeholder__label'}, \r\n el('img', {className: 'block-editor-block-icon', src: escapeAttribute( sp_wp_carousel_free.url + 'admin/GutenbergBlock/src/wp-carousel-icon.svg' )}),\r\n escapeHTML( __(\"WP Carousel\", \"wp-carousel-free\") )\r\n ),\r\n el('div', {className: 'components-placeholder__instructions'}, \r\n escapeHTML( __(\"No shortcode found. \", \"wp-carousel-free\") ),\r\n el('a', {href: escapeAttribute( sp_wp_carousel_free.link )}, \r\n escapeHTML( __(\"Create a shortcode now!\", \"wp-carousel-free\") )\r\n )\r\n )\r\n )\r\n }\r\n </Fragment>\r\n );\r\n }\r\n\r\n if ( ! attributes.shortcode || attributes.shortcode == 0 ) {\r\n return (\r\n <Fragment>\r\n <InspectorControls>\r\n <PanelBody title=\"Select a shortcode\">\r\n <PanelRow>\r\n <DynamicShortcodeInput\r\n attributes={attributes}\r\n shortcodeUpdate={shortcodeUpdate}\r\n />\r\n </PanelRow>\r\n </PanelBody>\r\n </InspectorControls>\r\n {\r\n el('div', {className: 'components-placeholder components-placeholder is-large'}, \r\n el('div', {className: 'components-placeholder__label'},\r\n el('img', { className: 'block-editor-block-icon', src: escapeAttribute( sp_wp_carousel_free.url + \"admin/GutenbergBlock/src/wp-carousel-icon.svg\" )}),\r\n escapeHTML( __(\"WP Carousel\", \"wp-carousel-free\") )\r\n ),\r\n el('div', {className: 'components-placeholder__instructions'}, escapeHTML( __(\"Select a shortcode\", \"wp-carousel-free\") ) ),\r\n <DynamicShortcodeInput\r\n attributes={attributes}\r\n shortcodeUpdate={shortcodeUpdate}\r\n />\r\n )\r\n }\r\n </Fragment>\r\n );\r\n }\r\n\r\n return (\r\n <Fragment>\r\n <InspectorControls>\r\n <PanelBody title=\"Select a shortcode\">\r\n <PanelRow>\r\n <DynamicShortcodeInput\r\n attributes={attributes}\r\n shortcodeUpdate={shortcodeUpdate}\r\n />\r\n </PanelRow>\r\n </PanelBody>\r\n </InspectorControls>\r\n <ServerSideRender block=\"sp-wp-carousel-free/shortcode\" attributes={attributes} />\r\n </Fragment>\r\n );\r\n },\r\n save() {\r\n // Rendering in PHP\r\n return null;\r\n },\r\n});\r\n"],"names":["escapeAttribute","el","wp","element","createElement","icons","spwpcfIcon","src","sp_wp_carousel_free","url","escapeHTML","__","i18n","Fragment","DynamicShortcodeInput","attributes","shortcode","shortcodelist","shortcodeUpdate","className","onChange","e","value","map","title","length","substring","id","toString","key","registerBlockType","blocks","PanelBody","PanelRow","components","InspectorControls","editor","ServerSideRender","serverSideRender","description","icon","category","supports","html","edit","props","setAttributes","scriptLoad","shortcodeId","spwpcfBlockLoaded","spwpcfBlockLoadedInterval","setInterval","uniqId","jQuery","parents","attr","document","getElementById","getScript","loadScript","animate","opacity","remove","clearInterval","updateShortcode","target","addEventListener","event","readyState","preview","href","link","save"],"sourceRoot":""}
|
|
admin/GutenbergBlock/class-wp-carousel-free-gutenberg-block-init.php
CHANGED
@@ -45,7 +45,7 @@ if ( ! class_exists( 'WP_Carousel_Free_Gutenberg_Block_Init' ) ) {
|
|
45 |
wp_enqueue_script(
|
46 |
'sp-wp-carousel-free-shortcode-block',
|
47 |
plugins_url( '/GutenbergBlock/build/index.js', dirname( __FILE__ ) ),
|
48 |
-
array( 'jquery', 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-components'
|
49 |
WPCAROUSELF_VERSION,
|
50 |
true
|
51 |
);
|
45 |
wp_enqueue_script(
|
46 |
'sp-wp-carousel-free-shortcode-block',
|
47 |
plugins_url( '/GutenbergBlock/build/index.js', dirname( __FILE__ ) ),
|
48 |
+
array( 'jquery', 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-components' ),
|
49 |
WPCAROUSELF_VERSION,
|
50 |
true
|
51 |
);
|
admin/class-wp-carousel-free-elementor-block.php
ADDED
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Elementor shortcode block.
|
4 |
+
*
|
5 |
+
* @since 2.4.1
|
6 |
+
* @package WordPress_Carousel_Free
|
7 |
+
* @subpackage WordPress_Carousel_Free/admin
|
8 |
+
*/
|
9 |
+
class Wp_Carousel_Free_Element_Shortcode_Block {
|
10 |
+
/**
|
11 |
+
* Instance
|
12 |
+
*
|
13 |
+
* @since 2.4.1
|
14 |
+
*
|
15 |
+
* @access private
|
16 |
+
* @static
|
17 |
+
*
|
18 |
+
* @var Wp_Carousel_Free_Element_Shortcode_Block The single instance of the class.
|
19 |
+
*/
|
20 |
+
private static $_instance = null;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Instance
|
24 |
+
*
|
25 |
+
* Ensures only one instance of the class is loaded or can be loaded.
|
26 |
+
*
|
27 |
+
* @since 2.4.1
|
28 |
+
*
|
29 |
+
* @access public
|
30 |
+
* @static
|
31 |
+
*
|
32 |
+
* @return Elementor_Test_Extension An instance of the class.
|
33 |
+
*/
|
34 |
+
public static function instance() {
|
35 |
+
|
36 |
+
if ( is_null( self::$_instance ) ) {
|
37 |
+
self::$_instance = new self();
|
38 |
+
}
|
39 |
+
return self::$_instance;
|
40 |
+
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Constructor
|
45 |
+
*
|
46 |
+
* @since 2.4.1
|
47 |
+
*
|
48 |
+
* @access public
|
49 |
+
*/
|
50 |
+
public function __construct() {
|
51 |
+
$this->suffix = defined( 'WP_DEBUG' ) && WP_DEBUG ? '' : '.min';
|
52 |
+
$this->on_plugins_loaded();
|
53 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'sp_wp_carousel_free_block_enqueue_scripts' ) );
|
54 |
+
add_action( 'elementor/editor/before_enqueue_scripts', array( $this, 'sp_wp_carousel_free_element_block_icon' ) );
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Elementor block icon.
|
59 |
+
*
|
60 |
+
* @since 2.4.1
|
61 |
+
* @return void
|
62 |
+
*/
|
63 |
+
public function sp_wp_carousel_free_element_block_icon() {
|
64 |
+
wp_enqueue_style( 'sp_wp_carousel_element_block_icon', WPCAROUSELF_URL . 'admin/css/fontello.css', array(), WPCAROUSELF_VERSION, 'all' );
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Register the JavaScript for the elementor block area.
|
69 |
+
*
|
70 |
+
* @since 2.4.1
|
71 |
+
*/
|
72 |
+
public function sp_wp_carousel_free_block_enqueue_scripts() {
|
73 |
+
|
74 |
+
/**
|
75 |
+
* An instance of this class should be passed to the run() function
|
76 |
+
* defined in carousel_Free_Loader as all of the hooks are defined
|
77 |
+
* in that particular class.
|
78 |
+
*
|
79 |
+
* The carousel_Free_Loader will then create the relationship
|
80 |
+
* between the defined hooks and the functions defined in this
|
81 |
+
* class.
|
82 |
+
*/
|
83 |
+
wp_enqueue_script( 'wpcf-slick', WPCAROUSELF_URL . 'public/js/slick' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
|
84 |
+
wp_enqueue_script( 'wpcf-slick-config', WPCAROUSELF_URL . 'public/js/wp-carousel-free-public' . $this->suffix . '.js', array( 'jquery' ), WPCAROUSELF_VERSION, true );
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* On Plugins Loaded
|
89 |
+
*
|
90 |
+
* Checks if Elementor has loaded, and performs some compatibility checks.
|
91 |
+
* If All checks pass, inits the plugin.
|
92 |
+
*
|
93 |
+
* Fired by `plugins_loaded` action hook.
|
94 |
+
*
|
95 |
+
* @since 2.4.1
|
96 |
+
* @access public
|
97 |
+
*/
|
98 |
+
public function on_plugins_loaded() {
|
99 |
+
add_action( 'elementor/init', array( $this, 'init' ) );
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Initialize the plugin
|
104 |
+
*
|
105 |
+
* Load the plugin only after Elementor (and other plugins) are loaded.
|
106 |
+
* Load the files required to run the plugin.
|
107 |
+
*
|
108 |
+
* Fired by `plugins_loaded` action hook.
|
109 |
+
*
|
110 |
+
* @since 2.4.1
|
111 |
+
*
|
112 |
+
* @access public
|
113 |
+
*/
|
114 |
+
public function init() {
|
115 |
+
// Add Plugin actions.
|
116 |
+
add_action( 'elementor/widgets/widgets_registered', array( $this, 'init_widgets' ) );
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Init Widgets
|
121 |
+
*
|
122 |
+
* Include widgets files and register them
|
123 |
+
*
|
124 |
+
* @since 2.4.1
|
125 |
+
*
|
126 |
+
* @access public
|
127 |
+
*/
|
128 |
+
public function init_widgets() {
|
129 |
+
// Register widget.
|
130 |
+
require_once WPCAROUSELF_PATH . '/admin/ElementAddons/Wp_Carousel_Shortcode_Widget.php';
|
131 |
+
\Elementor\Plugin::instance()->widgets_manager->register_widget_type( new Wp_Carousel_Shortcode_Widget() );
|
132 |
+
}
|
133 |
+
|
134 |
+
}
|
135 |
+
|
136 |
+
Wp_Carousel_Free_Element_Shortcode_Block::instance();
|
admin/css/fontello.css
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@font-face {
|
2 |
+
font-family: 'fontello';
|
3 |
+
src: url('../../admin/font/fontello.eot?94386304');
|
4 |
+
src: url('../../admin/font/fontello.eot?94386304#iefix') format('embedded-opentype'),
|
5 |
+
url('../../admin/font/fontello.woff2?94386304') format('woff2'),
|
6 |
+
url('../../admin/font/fontello.woff?94386304') format('woff'),
|
7 |
+
url('../../admin/font/fontello.ttf?94386304') format('truetype'),
|
8 |
+
url('../../admin/font/fontello.svg?94386304#fontello') format('svg');
|
9 |
+
font-weight: normal;
|
10 |
+
font-style: normal;
|
11 |
+
}
|
12 |
+
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
13 |
+
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
14 |
+
/*
|
15 |
+
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
16 |
+
@font-face {
|
17 |
+
font-family: 'fontello';
|
18 |
+
src: url('../font/fontello.svg?94386304#fontello') format('svg');
|
19 |
+
}
|
20 |
+
}
|
21 |
+
*/
|
22 |
+
[class^="icon-"]:before, [class*=" icon-"]:before {
|
23 |
+
font-family: "fontello";
|
24 |
+
font-style: normal;
|
25 |
+
font-weight: normal;
|
26 |
+
speak: never;
|
27 |
+
|
28 |
+
display: inline-block;
|
29 |
+
text-decoration: inherit;
|
30 |
+
width: 1em;
|
31 |
+
margin-right: .2em;
|
32 |
+
text-align: center;
|
33 |
+
/* opacity: .8; */
|
34 |
+
|
35 |
+
/* For safety - reset parent styles, that can break glyph codes*/
|
36 |
+
font-variant: normal;
|
37 |
+
text-transform: none;
|
38 |
+
|
39 |
+
/* fix buttons height, for twitter bootstrap */
|
40 |
+
line-height: 1em;
|
41 |
+
|
42 |
+
/* Animation center compensation - margins should be symmetric */
|
43 |
+
/* remove if not needed */
|
44 |
+
margin-left: .2em;
|
45 |
+
|
46 |
+
/* you can be more comfortable with increased icons size */
|
47 |
+
/* font-size: 120%; */
|
48 |
+
|
49 |
+
/* Font smoothing. That was taken from TWBS */
|
50 |
+
-webkit-font-smoothing: antialiased;
|
51 |
+
-moz-osx-font-smoothing: grayscale;
|
52 |
+
|
53 |
+
/* Uncomment for 3D effect */
|
54 |
+
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
55 |
+
}
|
56 |
+
|
57 |
+
.icon-wpc-block:before { content: '\e800'; } /* '' */
|
admin/font/fontello.eot
ADDED
Binary file
|
admin/font/fontello.svg
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata>Copyright (C) 2021 by original authors @ fontello.com</metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="fontello" horiz-adv-x="1000" >
|
7 |
+
<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
8 |
+
<missing-glyph horiz-adv-x="1000" />
|
9 |
+
<glyph glyph-name="wpc-block" unicode="" d="M1285-150h-1285v1000h1285v-1000z m-1140 145h995v710h-995v-710z m872 336l-149-149c-11-11-28-11-38 0l-25 25c-10 10-10 27 0 37l106 106-106 106c-10 10-10 27 0 37l25 25c10 11 27 11 37 0l150-149c11-11 11-27 0-38z m-749 38l150 149c10 11 27 11 37 0l25-24c10-11 10-27 0-38l-106-106 106-106c10-10 10-27 0-37l-25-25c-10-11-27-11-37 0l-150 149c-10 11-10 27 0 38z" horiz-adv-x="1285" />
|
10 |
+
</font>
|
11 |
+
</defs>
|
12 |
+
</svg>
|
admin/font/fontello.ttf
ADDED
Binary file
|
admin/font/fontello.woff
ADDED
Binary file
|
admin/font/fontello.woff2
ADDED
Binary file
|
languages/wp-carousel-free.pot
CHANGED
File without changes
|
public/css/wp-carousel-free-public.css
CHANGED
@@ -314,10 +314,12 @@
|
|
314 |
|
315 |
.wpcp-carousel-section .slick-prev {
|
316 |
left: 0;
|
|
|
317 |
}
|
318 |
|
319 |
.wpcp-carousel-section .slick-next {
|
320 |
right: 0;
|
|
|
321 |
}
|
322 |
|
323 |
.wpcp-carousel-section .slick-prev,
|
@@ -336,7 +338,7 @@
|
|
336 |
-o-transition: ease all 0.3s;
|
337 |
transition: ease all 0.3s;
|
338 |
margin-top: -15px;
|
339 |
-
cursor: pointer;
|
340 |
}
|
341 |
|
342 |
.wpcp-carousel-section.nav-vertical-center {
|
@@ -357,6 +359,8 @@
|
|
357 |
|
358 |
.wpcp-carousel-section.nav-vertical-center .slick-prev {
|
359 |
left: 0;
|
|
|
|
|
360 |
}
|
361 |
.wpcp-carousel-section.nav-vertical-center .slick-next,
|
362 |
.wpcp-carousel-section.nav-vertical-center .slick-prev {
|
314 |
|
315 |
.wpcp-carousel-section .slick-prev {
|
316 |
left: 0;
|
317 |
+
right: auto;
|
318 |
}
|
319 |
|
320 |
.wpcp-carousel-section .slick-next {
|
321 |
right: 0;
|
322 |
+
left: auto;
|
323 |
}
|
324 |
|
325 |
.wpcp-carousel-section .slick-prev,
|
338 |
-o-transition: ease all 0.3s;
|
339 |
transition: ease all 0.3s;
|
340 |
margin-top: -15px;
|
341 |
+
cursor: pointer;
|
342 |
}
|
343 |
|
344 |
.wpcp-carousel-section.nav-vertical-center {
|
359 |
|
360 |
.wpcp-carousel-section.nav-vertical-center .slick-prev {
|
361 |
left: 0;
|
362 |
+
right: auto;
|
363 |
+
text-align: left;
|
364 |
}
|
365 |
.wpcp-carousel-section.nav-vertical-center .slick-next,
|
366 |
.wpcp-carousel-section.nav-vertical-center .slick-prev {
|
public/css/wp-carousel-free-public.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wpcp-carousel-wrapper *{word-break:break-word;word-wrap:break-word;box-sizing:border-box}.wpcp-carousel-section.wpcp-standard:not(.wpcp-preloader){display:none}.wpcp-carousel-section.wpcp-standard.slick-initialized:not(.wpcp-preloader){display:block}.wpcp-carousel-wrapper{position:relative}.wpcp-carousel-section.wpcp-preloader{opacity:0}.wpcp-carousel-preloader{position:absolute;left:0;top:0;height:100%;width:100%;text-align:center;display:flex;align-items:center;justify-content:center}.sp-wpcp-wrapper{margin-bottom:0}.wpcp-carousel-section.wpcp-standard,.wpcp-carousel-section.wpcp-standard .slick-list{overflow:hidden}.wpcp-carousel-section.wpcp-standard{overflow:hidden;padding-right:2px}.wpcp-carousel-section.wpcp-standard.slick-initialized{position:relative}.wpcp-carousel-section .wpcp-single-item{overflow:hidden;display:inline-block;vertical-align:middle;float:none;max-width:100%}.wpcp-all-captions li{list-style:none;margin:0}.wpcp-carousel-section p,.wpcp-carousel-section ul,.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions h2{margin:0}.wpcp-carousel-section.wpcp-video-carousel .wpcp-single-item .wpcp-slide-image{position:relative}.wpcp-carousel-section.wpcp-content-carousel .wpcp-single-item{padding-left:15px;padding-right:15px}.wpcp-carousel-section .wpcp-single-item img[data-lazy]{width:32px}.wpcp-carousel-section .wpcp-single-item img{margin:0 auto;max-width:100%;height:auto;box-shadow:none}.wpcp-carousel-section.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions{padding:10px 20px 15px}.wpcp-carousel-section .wpcp-single-item .wpcp-all-captions .wpcp-image-description{margin:6px 0 0}.wpcp-carousel-section .wpcp-single-item .wpcp-slide-image a:focus{outline:0}.wpcp-carousel-section .slick-slide:focus{outline:0}.wpcp-carousel-section.slick-initialized .slick-slide{margin-right:20px;float:none;display:inline-block;vertical-align:middle}.wpcp-carousel-section .slick-list{margin-right:-20px}.wpcp-carousel-section .wpcp-all-captions a,.wpcp-carousel-section a,.wpcp-carousel-section a:hover{text-decoration:none}.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions{padding:15px 20px 0;overflow:hidden}#poststuff h2,.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions h2{font-size:16px;font-weight:600;margin:0 0 10px}.wpcp-single-item h2 a{color:#444;text-decoration:none}.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions .post-categories{margin:0 0 7px;padding:0;display:block}.wpcp-post-carousel .wpcp-all-captions p{margin-bottom:15px}.wpcp_readmore{border:1px solid;display:inline-block;background:#22afba;margin:0 0 14px;line-height:32px;padding:5px 14px;font-weight:600}.wpcp_readmore,.wpcp_readmore:focus,.wpcp_readmore:hover{color:#fff}.wpcp-single-item .wpcp-all-captions .wpcp-post-meta{margin:0 0 20px;padding:0}.wpcp-post-carousel .wpcp-post-meta li{display:inline-block;margin-right:5px}.wpcp-post-carousel .wpcp-post-meta li:last-child{margin-right:0}.wpcp-post-meta li,.wpcp-post-meta li a{color:#999}.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-all-captions,.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-slide-image{float:left;width:50%;box-sizing:border-box}.wpcp-carousel-section.detail-with-overlay .wpcp-all-captions{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;height:100%}.wpcp-carousel-section.detail-with-overlay.overlay-lower .wpcp-all-captions{top:auto;display:block;height:auto}.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-all-captions{visibility:hidden;opacity:0;transition:visibility .3s linear,opacity .3s linear}.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-single-item:hover .wpcp-all-captions{visibility:visible;opacity:1}.wpcp-carousel-section.detail-with-overlay .wpcp-single-item{position:relative}.wpcp-carousel-section .wpcp-single-item:focus{outline:0}.wpcp-product-carousel .wpcp-single-item .wpcp-all-captions{padding:15px 20px 0;overflow:hidden;text-align:center}.wpcp-product-carousel .wpcp-single-item .wpcp-product-title{margin:0;font-size:16px;line-height:23px;font-weight:600}.wpcp-product-price{margin-top:5px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button{margin-top:12px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button a.button{background:#ebebeb;color:#545454;border:1px solid #d1d1d1;font-weight:500;padding:0 20px;line-height:38px;display:inline-block;font-size:14px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.add_to_cart_button.added{display:none}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .added_to_cart{font-size:100%;margin:0;line-height:38px;cursor:pointer;position:relative;text-decoration:none;overflow:visible;padding:0 20px;font-weight:600;border-radius:3px;left:auto;color:#515151;background-color:#ebe9eb;border:0;display:inline-block;background-image:none;box-shadow:none;text-shadow:none;border:1px solid}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.button:hover{background:#3f3f3f;border-color:#d1d1d1;color:#fff}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .wc-forward::after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:400;line-height:1;vertical-align:-.125em;font:normal normal normal 14px/1 FontAwesome;font-weight:900;line-height:inherit;vertical-align:baseline;content:"\f178";margin-left:.5407911001em}.wpcp-carousel-section .woocommerce-product-rating .star-rating{margin:4px auto;float:none}.wpcp-product-price span{font-weight:700;font-size:14px}.wpcp-carousel-section .slick-next:after,.wpcp-carousel-section .slick-next:before,.wpcp-carousel-section .slick-prev:after,.wpcp-carousel-section .slick-prev:before{display:none}.wpcp-carousel-section .slick-prev{left:0}.wpcp-carousel-section .slick-next{right:0}.wpcp-carousel-section .slick-next,.wpcp-carousel-section .slick-prev{width:30px;height:30px;line-height:30px;position:absolute;z-index:22;left:auto;top:auto;font-size:30px;-webkit-transition:ease all .3s;-moz-transition:ease all .3s;-ms-transition:ease all .3s;-o-transition:ease all .3s;transition:ease all .3s;margin-top:-15px;cursor:pointer}.wpcp-carousel-section.nav-vertical-center{padding:0 25px}.wpcp-carousel-section .slick-next,.wpcp-carousel-section .slick-next i,.wpcp-carousel-section .slick-prev,.wpcp-carousel-section .slick-prev i{line-height:28px;font-family:fontawesome;color:#000}.wpcp-carousel-section.nav-vertical-center .slick-next,.wpcp-carousel-section.nav-vertical-center .slick-prev{top:50%}.wpcp-carousel-section.nav-vertical-center .slick-prev{left:0}.wpcp-carousel-section.nav-vertical-center .slick-next,.wpcp-carousel-section.nav-vertical-center .slick-prev{margin-top:-15px}.wpcp-carousel-section.nav-vertical-center.slick-dotted .slick-next,.wpcp-carousel-section.nav-vertical-center.slick-dotted .slick-prev{margin-top:-35px}.wpcp-carousel-section.nav-vertical-center .slick-next{right:0;text-align:right}.wpcp-carousel-section ul.slick-dots{list-style:none;padding:0!important;margin:0;text-align:center;margin-top:18px;position:relative}.wpcp-carousel-section ul.slick-dots li{display:inline;margin:0}.wpcp-carousel-section ul.slick-dots li button{background-color:#ccc;border:0 solid;border-radius:50%;font-size:0;margin:3px;overflow:hidden;padding:0;text-indent:-999px;width:12px;height:12px;cursor:pointer}.wpcp-carousel-section ul.slick-dots,.wpcp-carousel-section ul.slick-dots li,.wpcp-carousel-section ul.slick-dots li button{line-height:1!important}.wpcp-carousel-section ul.slick-dots li button:focus{outline:0}.wpcp-carousel-section ul.slick-dots li.slick-active button{background-color:#666}.wpcpro-row.no-gutters>[class*=wpcpro-col-]{padding-right:0;padding-left:0}.wpcpro-row>[class*=wpcpro-col-]{padding:0 10px;padding-bottom:20px}.wpcpro-row{display:flex;flex-wrap:wrap;margin-right:-10px;margin-left:-10px}.wpcpro-post-pagination .ajax-page-numbers,.wpcpro-post-pagination .page-numbers{background:#fff;color:#5e5e5e;border:2px solid #bbb;width:38px;height:38px;line-height:38px;font-size:16px;text-align:center;display:inline-block;margin-right:4px;text-decoration:none;font-weight:700;border-radius:3px;-webkit-transition:all .33s;transition:all .33s;-webkit-box-sizing:content-box;box-sizing:content-box}.wpcpro-post-pagination .ajax-page-numbers.current,.wpcpro-post-pagination .page-numbers.current{cursor:auto;color:#fff;background:#178087;border-color:#178087}.wpcpro-post-pagination-number{margin-top:20px}.wpcpro-post-pagination a.page-numbers:hover,.wpcpro-post-pagination span.current,.wpcpro-post-pagination span:hover{color:#fff;background:#178087;border-color:#178087}
|
1 |
+
.wpcp-carousel-wrapper *{word-break:break-word;word-wrap:break-word;box-sizing:border-box}.wpcp-carousel-section.wpcp-standard:not(.wpcp-preloader){display:none}.wpcp-carousel-section.wpcp-standard.slick-initialized:not(.wpcp-preloader){display:block}.wpcp-carousel-wrapper{position:relative}.wpcp-carousel-section.wpcp-preloader{opacity:0}.wpcp-carousel-preloader{position:absolute;left:0;top:0;height:100%;width:100%;text-align:center;display:flex;align-items:center;justify-content:center}.sp-wpcp-wrapper{margin-bottom:0}.wpcp-carousel-section.wpcp-standard,.wpcp-carousel-section.wpcp-standard .slick-list{overflow:hidden}.wpcp-carousel-section.wpcp-standard{overflow:hidden;padding-right:2px}.wpcp-carousel-section.wpcp-standard.slick-initialized{position:relative}.wpcp-carousel-section .wpcp-single-item{overflow:hidden;display:inline-block;vertical-align:middle;float:none;max-width:100%}.wpcp-all-captions li{list-style:none;margin:0}.wpcp-carousel-section p,.wpcp-carousel-section ul,.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions h2{margin:0}.wpcp-carousel-section.wpcp-video-carousel .wpcp-single-item .wpcp-slide-image{position:relative}.wpcp-carousel-section.wpcp-content-carousel .wpcp-single-item{padding-left:15px;padding-right:15px}.wpcp-carousel-section .wpcp-single-item img[data-lazy]{width:32px}.wpcp-carousel-section .wpcp-single-item img{margin:0 auto;max-width:100%;height:auto;box-shadow:none}.wpcp-carousel-section.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions{padding:10px 20px 15px}.wpcp-carousel-section .wpcp-single-item .wpcp-all-captions .wpcp-image-description{margin:6px 0 0}.wpcp-carousel-section .wpcp-single-item .wpcp-slide-image a:focus{outline:0}.wpcp-carousel-section .slick-slide:focus{outline:0}.wpcp-carousel-section.slick-initialized .slick-slide{margin-right:20px;float:none;display:inline-block;vertical-align:middle}.wpcp-carousel-section .slick-list{margin-right:-20px}.wpcp-carousel-section .wpcp-all-captions a,.wpcp-carousel-section a,.wpcp-carousel-section a:hover{text-decoration:none}.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions{padding:15px 20px 0;overflow:hidden}#poststuff h2,.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions h2{font-size:16px;font-weight:600;margin:0 0 10px}.wpcp-single-item h2 a{color:#444;text-decoration:none}.wpcp-post-carousel .wpcp-single-item .wpcp-all-captions .post-categories{margin:0 0 7px;padding:0;display:block}.wpcp-post-carousel .wpcp-all-captions p{margin-bottom:15px}.wpcp_readmore{border:1px solid;display:inline-block;background:#22afba;margin:0 0 14px;line-height:32px;padding:5px 14px;font-weight:600}.wpcp_readmore,.wpcp_readmore:focus,.wpcp_readmore:hover{color:#fff}.wpcp-single-item .wpcp-all-captions .wpcp-post-meta{margin:0 0 20px;padding:0}.wpcp-post-carousel .wpcp-post-meta li{display:inline-block;margin-right:5px}.wpcp-post-carousel .wpcp-post-meta li:last-child{margin-right:0}.wpcp-post-meta li,.wpcp-post-meta li a{color:#999}.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-all-captions,.wpcp-carousel-section.detail-on-right .wpcp-single-item .wpcp-slide-image{float:left;width:50%;box-sizing:border-box}.wpcp-carousel-section.detail-with-overlay .wpcp-all-captions{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;height:100%}.wpcp-carousel-section.detail-with-overlay.overlay-lower .wpcp-all-captions{top:auto;display:block;height:auto}.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-all-captions{visibility:hidden;opacity:0;transition:visibility .3s linear,opacity .3s linear}.wpcp-carousel-section.detail-with-overlay.overlay-on-hover .wpcp-single-item:hover .wpcp-all-captions{visibility:visible;opacity:1}.wpcp-carousel-section.detail-with-overlay .wpcp-single-item{position:relative}.wpcp-carousel-section .wpcp-single-item:focus{outline:0}.wpcp-product-carousel .wpcp-single-item .wpcp-all-captions{padding:15px 20px 0;overflow:hidden;text-align:center}.wpcp-product-carousel .wpcp-single-item .wpcp-product-title{margin:0;font-size:16px;line-height:23px;font-weight:600}.wpcp-product-price{margin-top:5px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button{margin-top:12px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-cart-button a.button{background:#ebebeb;color:#545454;border:1px solid #d1d1d1;font-weight:500;padding:0 20px;line-height:38px;display:inline-block;font-size:14px}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.add_to_cart_button.added{display:none}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .added_to_cart{font-size:100%;margin:0;line-height:38px;cursor:pointer;position:relative;text-decoration:none;overflow:visible;padding:0 20px;font-weight:600;border-radius:3px;left:auto;color:#515151;background-color:#ebe9eb;border:0;display:inline-block;background-image:none;box-shadow:none;text-shadow:none;border:1px solid}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button a.button:hover{background:#3f3f3f;border-color:#d1d1d1;color:#fff}.wpcp-carousel-section.wpcp-product-carousel .wpcp-all-captions .wpcp-cart-button .wc-forward::after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:400;line-height:1;vertical-align:-.125em;font:normal normal normal 14px/1 FontAwesome;font-weight:900;line-height:inherit;vertical-align:baseline;content:"\f178";margin-left:.5407911001em}.wpcp-carousel-section .woocommerce-product-rating .star-rating{margin:4px auto;float:none}.wpcp-product-price span{font-weight:700;font-size:14px}.wpcp-carousel-section .slick-next:after,.wpcp-carousel-section .slick-next:before,.wpcp-carousel-section .slick-prev:after,.wpcp-carousel-section .slick-prev:before{display:none}.wpcp-carousel-section .slick-prev{left:0;right:auto}.wpcp-carousel-section .slick-next{right:0;left:auto}.wpcp-carousel-section .slick-next,.wpcp-carousel-section .slick-prev{width:30px;height:30px;line-height:30px;position:absolute;z-index:22;left:auto;top:auto;font-size:30px;-webkit-transition:ease all .3s;-moz-transition:ease all .3s;-ms-transition:ease all .3s;-o-transition:ease all .3s;transition:ease all .3s;margin-top:-15px;cursor:pointer}.wpcp-carousel-section.nav-vertical-center{padding:0 25px}.wpcp-carousel-section .slick-next,.wpcp-carousel-section .slick-next i,.wpcp-carousel-section .slick-prev,.wpcp-carousel-section .slick-prev i{line-height:28px;font-family:fontawesome;color:#000}.wpcp-carousel-section.nav-vertical-center .slick-next,.wpcp-carousel-section.nav-vertical-center .slick-prev{top:50%}.wpcp-carousel-section.nav-vertical-center .slick-prev{left:0;right:auto;text-align:left}.wpcp-carousel-section.nav-vertical-center .slick-next,.wpcp-carousel-section.nav-vertical-center .slick-prev{margin-top:-15px}.wpcp-carousel-section.nav-vertical-center.slick-dotted .slick-next,.wpcp-carousel-section.nav-vertical-center.slick-dotted .slick-prev{margin-top:-35px}.wpcp-carousel-section.nav-vertical-center .slick-next{right:0;text-align:right}.wpcp-carousel-section ul.slick-dots{list-style:none;padding:0!important;margin:0;text-align:center;margin-top:18px;position:relative}.wpcp-carousel-section ul.slick-dots li{display:inline;margin:0}.wpcp-carousel-section ul.slick-dots li button{background-color:#ccc;border:0 solid;border-radius:50%;font-size:0;margin:3px;overflow:hidden;padding:0;text-indent:-999px;width:12px;height:12px;cursor:pointer}.wpcp-carousel-section ul.slick-dots,.wpcp-carousel-section ul.slick-dots li,.wpcp-carousel-section ul.slick-dots li button{line-height:1!important}.wpcp-carousel-section ul.slick-dots li button:focus{outline:0}.wpcp-carousel-section ul.slick-dots li.slick-active button{background-color:#666}.wpcpro-row.no-gutters>[class*=wpcpro-col-]{padding-right:0;padding-left:0}.wpcpro-row>[class*=wpcpro-col-]{padding:0 10px;padding-bottom:20px}.wpcpro-row{display:flex;flex-wrap:wrap;margin-right:-10px;margin-left:-10px}.wpcpro-post-pagination .ajax-page-numbers,.wpcpro-post-pagination .page-numbers{background:#fff;color:#5e5e5e;border:2px solid #bbb;width:38px;height:38px;line-height:38px;font-size:16px;text-align:center;display:inline-block;margin-right:4px;text-decoration:none;font-weight:700;border-radius:3px;-webkit-transition:all .33s;transition:all .33s;-webkit-box-sizing:content-box;box-sizing:content-box}.wpcpro-post-pagination .ajax-page-numbers.current,.wpcpro-post-pagination .page-numbers.current{cursor:auto;color:#fff;background:#178087;border-color:#178087}.wpcpro-post-pagination-number{margin-top:20px}.wpcpro-post-pagination a.page-numbers:hover,.wpcpro-post-pagination span.current,.wpcpro-post-pagination span:hover{color:#fff;background:#178087;border-color:#178087}
|
public/templates/preloader.php
CHANGED
@@ -13,6 +13,6 @@ if ( ! defined( 'WPINC' ) ) {
|
|
13 |
}
|
14 |
if ( ! empty( $preloader_image ) ) {
|
15 |
echo '<div id="wpcp-preloader-' . esc_attr( $post_id ) . '" class="wpcp-carousel-preloader">';
|
16 |
-
echo '<img src="' . esc_url( $preloader_image ) . '"/>';
|
17 |
echo '</div>';
|
18 |
}
|
13 |
}
|
14 |
if ( ! empty( $preloader_image ) ) {
|
15 |
echo '<div id="wpcp-preloader-' . esc_attr( $post_id ) . '" class="wpcp-carousel-preloader">';
|
16 |
+
echo '<img src="' . esc_url( $preloader_image ) . '" alt="Preloader Image"/>';
|
17 |
echo '</div>';
|
18 |
}
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: shapedplugin, khalilu, shamimmiashuhagh, rubel_miah
|
|
3 |
Donate link: http://shapedplugin.com/donate
|
4 |
Tags: wordpress carousel, best carousel plugin, image carousel, image slider, post carousel, custom post carousel, custom taxonomy carousel, woocommerce product carousel, content carousel, video carousel, video slider, video lightbox, youtube carousel, video gallery, carousel, slider, responsive slider, responsive carousel, carousel slider, ticker carousel, center mode carousel, slide anything, image gallery, image lightbox, wordpress image gallery, photo gallery, gallery slider, wordpress gallery plugin, gallery, post slider, vimeo slider, self hosted video carousel, content slider, wordpress slider, featured content slider, html slider, horizontal carousel slider, posts content slider, product carousel, woocommerce slider, woocommerce product slider
|
5 |
Requires at least: 4.5
|
6 |
-
Tested up to: 5.9
|
7 |
-
Stable tag: 2.4.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -327,6 +327,11 @@ Thank you!
|
|
327 |
|
328 |
== Changelog ==
|
329 |
|
|
|
|
|
|
|
|
|
|
|
330 |
= 2.4.3 – Jan 26, 2022 =
|
331 |
* Tested: WooCommerce 6.1.1 compatibility.
|
332 |
* Tested: WordPress 5.9 compatibility.
|
3 |
Donate link: http://shapedplugin.com/donate
|
4 |
Tags: wordpress carousel, best carousel plugin, image carousel, image slider, post carousel, custom post carousel, custom taxonomy carousel, woocommerce product carousel, content carousel, video carousel, video slider, video lightbox, youtube carousel, video gallery, carousel, slider, responsive slider, responsive carousel, carousel slider, ticker carousel, center mode carousel, slide anything, image gallery, image lightbox, wordpress image gallery, photo gallery, gallery slider, wordpress gallery plugin, gallery, post slider, vimeo slider, self hosted video carousel, content slider, wordpress slider, featured content slider, html slider, horizontal carousel slider, posts content slider, product carousel, woocommerce slider, woocommerce product slider
|
5 |
Requires at least: 4.5
|
6 |
+
Tested up to: 5.9.1
|
7 |
+
Stable tag: 2.4.4
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
327 |
|
328 |
== Changelog ==
|
329 |
|
330 |
+
= 2.4.4 – Feb 23, 2022 =
|
331 |
+
* New: Elementor Addons for WP Carousel.
|
332 |
+
* New: The alt tag of the preloader image is added.
|
333 |
+
* Fix: WordPress 5.9 Gutenberg block compatibility issue.
|
334 |
+
|
335 |
= 2.4.3 – Jan 26, 2022 =
|
336 |
* Tested: WooCommerce 6.1.1 compatibility.
|
337 |
* Tested: WordPress 5.9 compatibility.
|
wp-carousel-free.php
CHANGED
@@ -9,7 +9,7 @@
|
|
9 |
* Plugin Name: WordPress Carousel
|
10 |
* Plugin URI: https://shapedplugin.com/plugin/wordpress-carousel-pro/?ref=1
|
11 |
* Description: The Most Powerful and User-friendly WordPress Carousel Plugin. Create beautiful carousels in minutes using Images, Posts, WooCommerce Products etc.
|
12 |
-
* Version: 2.4.
|
13 |
* Author: ShapedPlugin
|
14 |
* Author URI: https://shapedplugin.com/
|
15 |
* License: GPL-2.0+
|
@@ -17,7 +17,7 @@
|
|
17 |
* Text Domain: wp-carousel-free
|
18 |
* Domain Path: /languages
|
19 |
* WC requires at least: 4.0
|
20 |
-
* WC tested up to: 6.
|
21 |
*/
|
22 |
|
23 |
// If this file is called directly, abort.
|
@@ -119,7 +119,7 @@ class SP_WP_Carousel_Free {
|
|
119 |
*/
|
120 |
public function setup() {
|
121 |
$this->plugin_name = 'wp-carousel-free';
|
122 |
-
$this->version = '2.4.
|
123 |
$this->define_constants();
|
124 |
$this->includes();
|
125 |
$this->load_dependencies();
|
@@ -166,7 +166,6 @@ class SP_WP_Carousel_Free {
|
|
166 |
include_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-loader.php';
|
167 |
include_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-post-types.php';
|
168 |
include_once WPCAROUSELF_PATH . '/admin/views/sp-framework/classes/setup.class.php';
|
169 |
-
// include_once WPCAROUSELF_PATH . '/admin/views/wpcfree-metabox/classes/setup.class.php';
|
170 |
include_once WPCAROUSELF_PATH . '/admin/views/notices/review.php';
|
171 |
include_once WPCAROUSELF_PATH . '/admin/views/notices/class-wp-carousel-free-promotion.php';
|
172 |
include_once WPCAROUSELF_PATH . '/admin/views/metabox-config.php';
|
@@ -184,6 +183,7 @@ class SP_WP_Carousel_Free {
|
|
184 |
include_once WPCAROUSELF_PATH . '/admin/views/premium.php';
|
185 |
include_once WPCAROUSELF_PATH . '/admin/preview/class-wp-carousel-free-preview.php';
|
186 |
include_once WPCAROUSELF_PATH . '/admin/class-wp-carousel-free-gutenberg-block.php';
|
|
|
187 |
}
|
188 |
|
189 |
/**
|
@@ -274,6 +274,12 @@ class SP_WP_Carousel_Free {
|
|
274 |
new WP_Carousel_Free_Gutenberg_Block();
|
275 |
}
|
276 |
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
}
|
278 |
|
279 |
/**
|
9 |
* Plugin Name: WordPress Carousel
|
10 |
* Plugin URI: https://shapedplugin.com/plugin/wordpress-carousel-pro/?ref=1
|
11 |
* Description: The Most Powerful and User-friendly WordPress Carousel Plugin. Create beautiful carousels in minutes using Images, Posts, WooCommerce Products etc.
|
12 |
+
* Version: 2.4.4
|
13 |
* Author: ShapedPlugin
|
14 |
* Author URI: https://shapedplugin.com/
|
15 |
* License: GPL-2.0+
|
17 |
* Text Domain: wp-carousel-free
|
18 |
* Domain Path: /languages
|
19 |
* WC requires at least: 4.0
|
20 |
+
* WC tested up to: 6.2.1
|
21 |
*/
|
22 |
|
23 |
// If this file is called directly, abort.
|
119 |
*/
|
120 |
public function setup() {
|
121 |
$this->plugin_name = 'wp-carousel-free';
|
122 |
+
$this->version = '2.4.4';
|
123 |
$this->define_constants();
|
124 |
$this->includes();
|
125 |
$this->load_dependencies();
|
166 |
include_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-loader.php';
|
167 |
include_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-post-types.php';
|
168 |
include_once WPCAROUSELF_PATH . '/admin/views/sp-framework/classes/setup.class.php';
|
|
|
169 |
include_once WPCAROUSELF_PATH . '/admin/views/notices/review.php';
|
170 |
include_once WPCAROUSELF_PATH . '/admin/views/notices/class-wp-carousel-free-promotion.php';
|
171 |
include_once WPCAROUSELF_PATH . '/admin/views/metabox-config.php';
|
183 |
include_once WPCAROUSELF_PATH . '/admin/views/premium.php';
|
184 |
include_once WPCAROUSELF_PATH . '/admin/preview/class-wp-carousel-free-preview.php';
|
185 |
include_once WPCAROUSELF_PATH . '/admin/class-wp-carousel-free-gutenberg-block.php';
|
186 |
+
require_once WPCAROUSELF_PATH . '/admin/class-wp-carousel-free-elementor-block.php';
|
187 |
}
|
188 |
|
189 |
/**
|
274 |
new WP_Carousel_Free_Gutenberg_Block();
|
275 |
}
|
276 |
|
277 |
+
// Elementor shortcode block.
|
278 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
279 |
+
if ( ( is_plugin_active( 'elementor/elementor.php' ) || is_plugin_active_for_network( 'elementor/elementor.php' ) ) ) {
|
280 |
+
new Wp_Carousel_Free_Element_Shortcode_Block();
|
281 |
+
}
|
282 |
+
|
283 |
}
|
284 |
|
285 |
/**
|