PluginProbe
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! / 3.3.2
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! v3.3.2
3.7.5 3.7.4 3.7.3 3.7.2 1-final 3.7.1 3.7.0 3.6.8 3.6.7 3.6.6 3.6.5 3.6.4 3.6.3 3.6.2 3.6.1 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 All 111 releases
← All changes | includes/Core/Platform/Gutenberg.php +1 -81 3.6.63.3.2 View file →
@@ -5,9 +5,8 @@
5 5 use Templately\Core\Importer\Utils\Utils;
6 6 use Templately\Core\Platform;
7 7 use Templately\Core\Module;
8 8 use Templately\Utils\Helper;
9 -use Templately\Utils\Options;
10 9
11 10 use WP_Error;
12 11 use function get_permalink;
13 12 use function get_edit_post_link;
@@ -13,9 +12,8 @@
13 12 use function get_edit_post_link;
14 13 use function wp_insert_post;
15 14 use function wp_slash;
16 15 use function wp_unslash;
17 -use function wp_update_post;
18 16 use function json_decode;
19 17
20 18 class Gutenberg extends Platform {
21 19 /**
@@ -58,9 +56,8 @@
58 56 */
59 57 public function scripts(){
60 58 $this->is_gutenberg_active = true;
61 59 templately()->assets->enqueue( 'templately-gutenberg', 'css/gutenberg.css' );
62 - templately()->assets->enqueue( 'templately-tailwind', 'css/tailwind.css', ['templately-gutenberg'] );
63 60 templately()->assets->enqueue( 'templately-gutenberg', 'js/gutenberg.js' );
64 61 templately()->admin->scripts( 'gutenberg' );
65 62 }
66 63
@@ -112,9 +109,9 @@
112 109 * @since 2.0.0
113 110 *
114 111 * @return array|WP_Error array on success, WP_Error on failure.
115 112 */
116 - public function create_page( $id, $title, $importer = null, $settings = [] ){
113 + public function create_page( $id, $title, $importer = null ){
117 114 $post_data = $inserted_ID = $importer->get_content( $id, 'gutenberg' );
118 115
119 116 if( is_wp_error( $inserted_ID ) ) {
120 117 return $inserted_ID;
@@ -119,13 +116,8 @@
119 116 if( is_wp_error( $inserted_ID ) ) {
120 117 return $inserted_ID;
121 118 }
122 119
123 - if ( ! empty( $settings ) && ! empty( $inserted_ID['content'] ) && is_string( $inserted_ID['content'] ) ) {
124 - $inserted_ID['content'] = \Templately\Core\Importer\Utils\GutenbergSettingsMerger::merge( $inserted_ID['content'], $settings );
125 - $post_data['content'] = $inserted_ID['content'];
126 - }
127 -
128 120 if ( ! empty( $inserted_ID['content'] ) ) {
129 121 $inserted_ID = wp_insert_post( array (
130 122 'post_status' => 'draft',
131 123 'post_type' => 'page',
@@ -171,80 +163,8 @@
171 163 public function insert($data, $postId = 0) {
172 164 $data['content'] = Utils::import_and_replace_attachments($data['content'], $postId);
173 165 return $data;
174 166 }
175 -
176 - /**
177 - * Import template to Templately Library
178 - *
179 - * @param integer $id
180 - * @param Import $importer
181 - * @param array $settings
182 - *
183 - * @return array|WP_Error array on success, WP_Error on failure.
184 - */
185 - public function import_in_library( $id, $importer = null, $settings = [], $template_type = '', $item_type = '' ) {
186 - $template_data = $importer->get_content( $id, 'gutenberg', 'remote' );
187 -
188 - if ( is_wp_error( $template_data ) ) {
189 - return $template_data;
190 - }
191 -
192 - if ( ! empty( $settings ) && ! empty( $template_data['content'] ) && is_string( $template_data['content'] ) ) {
193 - $template_data['content'] = \Templately\Core\Importer\Utils\GutenbergSettingsMerger::merge( $template_data['content'], $settings );
194 - }
195 -
196 - // Handle attachment replacements before saving
197 - $template_data['content'] = Utils::import_and_replace_attachments( $template_data['content'], 0 );
198 -
199 - // Frontend-provided template_type (from item details API) takes precedence over
200 - // whatever the fetched content JSON reports.
201 - if ( ! empty( $template_type ) ) {
202 - $template_data['template_type'] = $template_type;
203 - }
204 -
205 - // Resolve the correct Builder Type using template_type before passing to the importer.
206 - try {
207 - $type = static::resolve_library_type( $template_data );
208 - } catch ( \InvalidArgumentException $e ) {
209 - return Helper::error( 'unsupported_template_type', $e->getMessage(), 'import', 400 );
210 - }
211 -
212 - $factory = new \Templately\Builder\Factory\TemplateFactory( 'gutenberg' );
213 -
214 - $template = $factory->create( $type, [
215 - 'post_title' => $template_data['title'],
216 - 'post_status' => 'publish',
217 - 'post_type' => 'templately_library',
218 - ] );
219 -
220 - if ( is_wp_error( $template ) ) {
221 - return $template;
222 - }
223 -
224 - $template->import( array_merge( $template_data, [
225 - 'import_settings' => [
226 - 'title' => $template_data['title'],
227 - 'type' => $type,
228 - ]
229 - ] ) );
230 -
231 - $post_id = $template->get_main_id();
232 -
233 - // Companion content for archive/fluent types — same side effects (Shop page,
234 - // page_for_posts, LearnDash courses slug, fluent single-page template) the FSI
235 - // Templates runner performs when importing these template types.
236 - Utils::create_companion_content( $type, $template_data['title'] ?? '', 'gutenberg' );
237 -
238 - // Mark user as having imported a template
239 - Options::get_instance()->set( 'has_imported_template', true );
240 -
241 - return [
242 - 'post_id' => $post_id,
243 - 'edit_link' => get_edit_post_link( $post_id, 'internal' ),
244 - 'visit' => get_permalink( $post_id ),
245 - ];
246 - }
247 167
248 168 /**
249 169 * AJAX handler to update the option `templately-gutenberg-hide-buttons`
250 170 */