PluginProbe
PatternsWP – Gutenberg Block Patterns & Page Templates Library / 1.0.4
PatternsWP – Gutenberg Block Patterns & Page Templates Library v1.0.4
trunk 1.0.0 1.0.1 1.0.10 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9
← All changes | patternswp.php +79 -6 1.0.31.0.4 View file →
@@ -4,9 +4,9 @@
4 4 * Plugin URI: https://thepatternswp.com
5 5 * Description: A growing library of ready-made block patterns can help you build websites faster in no time.
6 6 * Author: PatternsWP
7 7 * Author URI: https://thepatternswp.com
8 - * Version: 1.0.3
8 + * Version: 1.0.4
9 9 * License: GPL-2.0+
10 10 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11 11 * Text Domain: patternswp
12 12 * Domain Path: /languages
@@ -12,15 +12,88 @@
12 12 * Domain Path: /languages
13 13 */
14 14
15 15 // If this file is called directly, abort.
16 -if ( ! defined( 'WPINC' ) ) {
17 - die;
16 +if (!defined('WPINC')) {
17 + die;
18 18 }
19 19
20 +// Define plugin constants.
21 +define('PWP_PLUGIN_DIR', plugin_dir_path(__FILE__));
22 +define('PWP_PLUGIN_URL', plugin_dir_url(__FILE__));
23 +define('PWP_PLUGIN_FILE', __FILE__);
24 +define('PWP_ABSPATH', dirname(__FILE__) . '/');
25 +define('PWP_VERSION', get_file_data(__FILE__, ['Version'])[0]);
26 +
27 +// Include necessary files.
28 +require_once PWP_PLUGIN_DIR . 'includes/class-patternswp-api.php';
29 +
20 30 /**
21 - * The core plugin class.
31 + * Enqueue assets for Block Editor.
22 32 */
23 -require plugin_dir_path( __FILE__ ) . 'inc/register-block-patterns.php';
24 -require plugin_dir_path( __FILE__ ) . 'inc/register-block-categories.php';
33 +function patternswp_enqueue_editor_assets() {
25 34
35 + // Scripts.
36 + $script_asset = patternswp_get_asset_file('build/patternswp-editor');
37 + wp_enqueue_script(
38 + 'patternswp-editor-scripts',
39 + PWP_PLUGIN_URL . 'build/patternswp-editor.js',
40 + array_merge($script_asset['dependencies'], ['wp-api']),
41 + $script_asset['version'],
42 + true
43 + );
26 44
45 + // Styles.
46 + $style_asset = patternswp_get_asset_file('build/block-pattern-inserter-editor-styles');
47 + wp_enqueue_style(
48 + 'patternswp-editor-styles',
49 + PWP_PLUGIN_URL . 'build/style-patternswp-editor-styles.css',
50 + array(),
51 + $style_asset['version']
52 + );
53 +}
54 +add_action('enqueue_block_editor_assets', 'patternswp_enqueue_editor_assets');
55 +
56 +/**
57 + * Get asset file data.
58 + *
59 + * @param string $filepath The file path.
60 + * @return array Asset data.
61 + */
62 +function patternswp_get_asset_file($filepath) {
63 + $asset_path = PWP_ABSPATH . $filepath . '.asset.php';
64 + return file_exists($asset_path)
65 + ? require_once $asset_path
66 + : [
67 + 'dependencies' => [],
68 + 'version' => PWP_VERSION,
69 + ];
70 +}
71 +
72 +// Plugin activation hook.
73 +register_activation_hook(__FILE__, 'patternswp_plugin_activate');
74 +function patternswp_plugin_activate() {
75 + global $wpdb;
76 + $table_name = $wpdb->prefix . 'patternswp_patterns';
77 +
78 + // Check if the table already exists.
79 + if ($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
80 + // Table does not exist, so create it.
81 + $charset_collate = $wpdb->get_charset_collate();
82 + $sql = "CREATE TABLE $table_name (
83 + id INT NOT NULL AUTO_INCREMENT,
84 + title VARCHAR(255),
85 + categories VARCHAR(100),
86 + content LONGTEXT,
87 + PRIMARY KEY (id)
88 + ) $charset_collate;";
89 +
90 + require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
91 + dbDelta($sql);
92 + }
93 +}
94 +
95 +// Plugin deactivation hook.
96 +register_deactivation_hook(__FILE__, 'patternswp_plugin_deactivate');
97 +function patternswp_plugin_deactivate() {
98 + // Deactivation tasks if any.
99 +}