khaihihi
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
header( 'Status: 403 Forbidden' );
|
||||
header( 'HTTP/1.1 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Vc_Gutenberg_Param
|
||||
*/
|
||||
class Vc_Gutenberg_Param {
|
||||
protected $postTypeSlug = 'wpb_gutenberg_param';
|
||||
|
||||
public function __construct() {
|
||||
add_action( 'init', array(
|
||||
$this,
|
||||
'initialize',
|
||||
) );
|
||||
}
|
||||
|
||||
public function initialize() {
|
||||
global $pagenow, $wp_version;
|
||||
if ( version_compare( $wp_version, '4.9.8', '>' ) && 'post-new.php' === $pagenow && vc_user_access()->wpAll( 'edit_posts' )
|
||||
->get() && vc_request_param( 'post_type' ) === $this->postTypeSlug ) {
|
||||
$this->registerGutenbergAttributeType();
|
||||
/** @see \Vc_Gutenberg_Param::removeAdminUi */
|
||||
add_action( 'admin_enqueue_scripts', array(
|
||||
$this,
|
||||
'removeAdminUI',
|
||||
) );
|
||||
}
|
||||
}
|
||||
|
||||
public function removeAdminUi() {
|
||||
$style = '
|
||||
#adminmenumain, #wpadminbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
html.wp-toolbar {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.wp-toolbar #wpcontent {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.wp-toolbar #wpbody {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.gutenberg .gutenberg__editor .edit-post-layout .edit-post-header, html .block-editor-page .edit-post-header {
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.gutenberg .gutenberg__editor .edit-post-layout.is-sidebar-opened .edit-post-layout__content, html .block-editor-page .edit-post-layout.is-sidebar-opened .edit-post-layout__content {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.gutenberg .gutenberg__editor .edit-post-layout .editor-post-publish-panel, html .block-editor-page .edit-post-layout .editor-post-publish-panel, html .block-editor-page .edit-post-header__settings {
|
||||
display: none;
|
||||
}
|
||||
.editor-post-title {
|
||||
display: none !important;
|
||||
}
|
||||
';
|
||||
wp_add_inline_style( 'wp-edit-blocks', $style );
|
||||
}
|
||||
|
||||
protected function registerGutenbergAttributeType() {
|
||||
$labels = array(
|
||||
'name' => _x( 'Gutenberg attrs', 'Post type general name', 'js_composer' ),
|
||||
'singular_name' => _x( 'Gutenberg attr', 'Post type singular name', 'js_composer' ),
|
||||
'menu_name' => _x( 'Gutenberg attrs', 'Admin Menu text', 'js_composer' ),
|
||||
'name_admin_bar' => _x( 'Gutenberg attr', 'Add New on Toolbar', 'js_composer' ),
|
||||
'add_new' => esc_html__( 'Add New', 'js_composer' ),
|
||||
'add_new_item' => esc_html__( 'Add New Gutenberg attr', 'js_composer' ),
|
||||
'new_item' => esc_html__( 'New Gutenberg attr', 'js_composer' ),
|
||||
'edit_item' => esc_html__( 'Edit Gutenberg attr', 'js_composer' ),
|
||||
'view_item' => esc_html__( 'View Gutenberg attr', 'js_composer' ),
|
||||
'all_items' => esc_html__( 'All Gutenberg attrs', 'js_composer' ),
|
||||
'search_items' => esc_html__( 'Search Gutenberg attrs', 'js_composer' ),
|
||||
'parent_item_colon' => esc_html__( 'Parent Gutenberg attrs:', 'js_composer' ),
|
||||
'not_found' => esc_html__( 'No Gutenberg attrs found.', 'js_composer' ),
|
||||
'not_found_in_trash' => esc_html__( 'No Gutenberg attrs found in Trash.', 'js_composer' ),
|
||||
'featured_image' => _x( 'Gutenberg attr Cover Image', 'Overrides the “Featured Image” phrase for this post type. Added in 4.3', 'js_composer' ),
|
||||
'set_featured_image' => _x( 'Set cover image', 'Overrides the “Set featured image” phrase for this post type. Added in 4.3', 'js_composer' ),
|
||||
'remove_featured_image' => _x( 'Remove cover image', 'Overrides the “Remove featured image” phrase for this post type. Added in 4.3', 'js_composer' ),
|
||||
'use_featured_image' => _x( 'Use as cover image', 'Overrides the “Use as featured image” phrase for this post type. Added in 4.3', 'js_composer' ),
|
||||
'archives' => _x( 'Gutenberg attr archives', 'The post type archive label used in nav menus. Default “Post Archives”. Added in 4.4', 'js_composer' ),
|
||||
'insert_into_item' => _x( 'Add into Gutenberg attr', 'Overrides the “Insert into post”/”Insert into page” phrase (used when inserting media into a post). Added in 4.4', 'js_composer' ),
|
||||
'uploaded_to_this_item' => _x( 'Uploaded to this Gutenberg attr', 'Overrides the “Uploaded to this post”/”Uploaded to this page” phrase (used when viewing media attached to a post). Added in 4.4', 'js_composer' ),
|
||||
'filter_items_list' => _x( 'Filter Gutenberg attrs list', 'Screen reader text for the filter links heading on the post type listing screen. Default “Filter posts list”/”Filter pages list”. Added in 4.4', 'js_composer' ),
|
||||
'items_list_navigation' => _x( 'Gutenberg attrs list navigation', 'Screen reader text for the pagination heading on the post type listing screen. Default “Posts list navigation”/”Pages list navigation”. Added in 4.4', 'js_composer' ),
|
||||
'items_list' => _x( 'Gutenberg attrs list', 'Screen reader text for the items list heading on the post type listing screen. Default “Posts list”/”Pages list”. Added in 4.4', 'js_composer' ),
|
||||
);
|
||||
$args = array(
|
||||
'labels' => $labels,
|
||||
'public' => true,
|
||||
'publicly_queryable' => true,
|
||||
'show_ui' => true,
|
||||
'show_in_menu' => false,
|
||||
'query_var' => false,
|
||||
'capability_type' => 'page',
|
||||
'has_archive' => false,
|
||||
'hierarchical' => false,
|
||||
'menu_position' => null,
|
||||
'show_in_rest' => true,
|
||||
'supports' => array( 'editor' ),
|
||||
);
|
||||
register_post_type( $this->postTypeSlug, $args );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
die( '-1' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Gutenberg field param.
|
||||
*
|
||||
* @param $settings
|
||||
* @param $value
|
||||
*
|
||||
* @return string - html string.
|
||||
*/
|
||||
function vc_gutenberg_form_field( $settings, $value ) {
|
||||
$value = htmlspecialchars( $value );
|
||||
|
||||
return '<div class="vc_gutenberg-field-wrapper"><button class="vc_btn vc_btn-grey vc_btn-sm" data-vc-action="open">Open Editor</button><div class="vc_gutenberg-modal-wrapper"></div><input name="' . $settings['param_name'] . '" class="wpb_vc_param_value vc_gutenberg-field vc_param-name-' . $settings['param_name'] . ' ' . $settings['type'] . '" type="hidden" value="' . $value . '"/></div>';
|
||||
}
|
||||
Reference in New Issue
Block a user