-
Notifications
You must be signed in to change notification settings - Fork 9
/
jlrz-custom-divi-modules.php
42 lines (38 loc) · 1.94 KB
/
jlrz-custom-divi-modules.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
/**
* Plugin Name: Custom Post Type Divi Module Extension
* Plugin URI:
* Description: A plugin for extending Divi Builder's custom modules that enable the user to post a custom post type using the Blog Module template
* Author: John Limuel Zoleta
* Version: 1.0
* Author URI: mailto:[email protected]
*/
/**
* Exit if accessed directly
*/
if( ! defined('ABSPATH') ){
exit;
}
$root_dir = plugin_dir_path(__FILE__);
$plugin_dir = plugin_dir_path(__DIR__);
$divi_modules_dir = $plugin_dir . "includes/builder/main-modules.php";
function jlrz_ext_init(){
global $pagenow;
$is_admin = is_admin();
$action_hook = $is_admin ? 'wp_loaded' : 'wp';
$required_admin_pages = array( 'edit.php', 'post.php', 'post-new.php', 'admin.php', 'customize.php', 'edit-tags.php', 'admin-ajax.php', 'export.php' ); // list of admin pages where we need to load builder files
$specific_filter_pages = array( 'edit.php', 'admin.php', 'edit-tags.php' );
$is_edit_library_page = 'edit.php' === $pagenow && isset( $_GET['post_type'] ) && 'et_pb_layout' === $_GET['post_type'];
$is_role_editor_page = 'admin.php' === $pagenow && isset( $_GET['page'] ) && 'et_divi_role_editor' === $_GET['page'];
$is_import_page = 'admin.php' === $pagenow && isset( $_GET['import'] ) && 'wordpress' === $_GET['import'];
$is_edit_layout_category_page = 'edit-tags.php' === $pagenow && isset( $_GET['taxonomy'] ) && 'layout_category' === $_GET['taxonomy'];
if ( ! $is_admin || ( $is_admin && in_array( $pagenow, $required_admin_pages ) && ( ! in_array( $pagenow, $specific_filter_pages ) || $is_edit_library_page || $is_role_editor_page || $is_edit_layout_category_page || $is_import_page ) ) ) {
add_action($action_hook, 'jlrz_ext_init_modules', 9789);
}
}
add_action('init', 'jlrz_ext_init');
function jlrz_ext_init_modules(){
if(class_exists("ET_Builder_Module_Type_PostBased")){
include("jlrz-divi-custom-post-types.php");
}
}