JezK
Edit File: edit-contact-form.php
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly $formatter = new WPCF7_HTMLFormatter( array( 'allowed_html' => array_merge( wpcf7_kses_allowed_html(), array( 'form' => array( 'method' => true, 'action' => true, 'id' => true, 'class' => true, 'disabled' => true, ), ) ), ) ); $formatter->append_start_tag( 'div', array( 'class' => 'wrap', 'id' => 'wpcf7-contact-form-editor', ) ); $formatter->append_start_tag( 'h1', array( 'class' => 'wp-heading-inline', ) ); $formatter->append_preformatted( esc_html( $post->initial() ? __( 'Add Contact Form', 'contact-form-7' ) : __( 'Edit Contact Form', 'contact-form-7' ) ) ); $formatter->end_tag( 'h1' ); if ( ! $post->initial() and current_user_can( 'wpcf7_edit_contact_forms' ) ) { $formatter->append_whitespace(); $formatter->append_preformatted( wpcf7_link( menu_page_url( 'wpcf7-new', false ), __( 'Add Contact Form', 'contact-form-7' ), array( 'class' => 'page-title-action' ) ) ); } $formatter->append_start_tag( 'hr', array( 'class' => 'wp-header-end', ) ); $formatter->call_user_func( static function () use ( $post ) { do_action( 'wpcf7_admin_warnings', $post->initial() ? 'wpcf7-new' : 'wpcf7', wpcf7_current_action(), $post ); do_action( 'wpcf7_admin_notices', $post->initial() ? 'wpcf7-new' : 'wpcf7', wpcf7_current_action(), $post ); } ); if ( $post ) { $formatter->append_start_tag( 'form', array( 'method' => 'post', 'action' => esc_url( add_query_arg( array( 'post' => $post_id ), menu_page_url( 'wpcf7', false ) ) ), 'id' => 'wpcf7-admin-form-element', 'disabled' => ! current_user_can( 'wpcf7_edit_contact_form', $post_id ), ) ); if ( current_user_can( 'wpcf7_edit_contact_form', $post_id ) ) { $formatter->call_user_func( static function () use ( $post_id ) { wp_nonce_field( 'wpcf7-save-contact-form_' . $post_id ); } ); } $formatter->append_start_tag( 'input', array( 'type' => 'hidden', 'id' => 'post_ID', 'name' => 'post_ID', 'value' => (int) $post_id, ) ); $formatter->append_start_tag( 'input', array( 'type' => 'hidden', 'id' => 'wpcf7-locale', 'name' => 'wpcf7-locale', 'value' => $post->locale(), ) ); $formatter->append_start_tag( 'input', array( 'type' => 'hidden', 'id' => 'hiddenaction', 'name' => 'action', 'value' => 'save', ) ); $formatter->append_start_tag( 'input', array( 'type' => 'hidden', 'id' => 'active-tab', 'name' => 'active-tab', 'value' => wpcf7_superglobal_get( 'active-tab' ), ) ); $formatter->append_start_tag( 'div', array( 'id' => 'poststuff', ) ); $formatter->append_start_tag( 'div', array( 'id' => 'post-body', 'class' => 'metabox-holder columns-2 wp-clearfix', ) ); $formatter->append_start_tag( 'div', array( 'id' => 'post-body-content', ) ); $formatter->append_start_tag( 'div', array( 'id' => 'titlediv', ) ); $formatter->append_start_tag( 'div', array( 'id' => 'titlewrap', ) ); $formatter->append_start_tag( 'input', array( 'type' => 'text', 'name' => 'post_title', 'value' => $post->initial() ? '' : $post->title(), 'id' => 'title', 'spellcheck' => 'true', 'autocomplete' => 'off', 'disabled' => ! current_user_can( 'wpcf7_edit_contact_form', $post_id ), 'placeholder' => __( 'Enter title here', 'contact-form-7' ), 'aria-label' => __( 'Enter title here', 'contact-form-7' ), ) ); $formatter->end_tag( 'div' ); // #titlewrap $formatter->append_start_tag( 'div', array( 'class' => 'inside', ) ); if ( ! $post->initial() ) { $formatter->append_start_tag( 'div', array( 'id' => 'wpcf7-shortcode-wrap', 'class' => 'hide-shortcode', ) ); $formatter->append_start_tag( 'button', array( 'class' => 'toggle-shortcode alignright button-link', 'type' => 'button', ) ); $formatter->append_preformatted( esc_html( __( 'Toggle shortcode', 'contact-form-7' ) ) ); $formatter->end_tag( 'button' ); $formatter->append_start_tag( 'div', array( 'id' => 'wpcf7-shortcode-inside', ) ); if ( $shortcode = $post->shortcode() ) { $formatter->append_start_tag( 'p', array( 'class' => 'description', ) ); $formatter->append_start_tag( 'label', array( 'for' => 'wpcf7-shortcode', ) ); $formatter->append_preformatted( esc_html( __( 'Shortcodes are only needed in the Classic Editor environment; otherwise, use the Contact Form 7 block in the Block Editor.', 'contact-form-7' ) ) ); $formatter->end_tag( 'label' ); $formatter->append_whitespace(); $formatter->append_start_tag( 'span', array( 'class' => 'shortcode wp-ui-highlight', ) ); $formatter->append_start_tag( 'input', array( 'type' => 'text', 'id' => 'wpcf7-shortcode', 'readonly' => true, 'class' => 'large-text code selectable', 'value' => $shortcode, ) ); $formatter->end_tag( 'p' ); } $formatter->end_tag( 'div' ); // #wpcf7-shortcode-inside $formatter->end_tag( 'div' ); // #wpcf7-shortcode-wrap } $formatter->end_tag( 'div' ); // .inside $formatter->end_tag( 'div' ); // #titlediv $formatter->end_tag( 'div' ); // #post-body-content $formatter->append_start_tag( 'div', array( 'id' => 'postbox-container-1', 'class' => 'postbox-container', ) ); if ( current_user_can( 'wpcf7_edit_contact_form', $post_id ) ) { $formatter->append_start_tag( 'section', array( 'id' => 'submitdiv', 'class' => 'postbox', ) ); $formatter->append_start_tag( 'h2' ); $formatter->append_preformatted( esc_html( __( 'Status', 'contact-form-7' ) ) ); $formatter->end_tag( 'h2' ); $formatter->append_start_tag( 'div', array( 'class' => 'inside', ) ); $formatter->append_start_tag( 'div', array( 'class' => 'submitbox', 'id' => 'submitpost', ) ); $formatter->append_start_tag( 'div', array( 'id' => 'minor-publishing-actions', ) ); $formatter->append_start_tag( 'div', array( 'class' => 'hidden', ) ); $formatter->append_start_tag( 'button', array( 'type' => 'submit', 'class' => 'button-primary', 'name' => 'wpcf7-save', 'value' => __( 'Save', 'contact-form-7' ), ) ); $formatter->append_preformatted( esc_html( __( 'Save', 'contact-form-7' ) ) ); $formatter->end_tag( 'div' ); // .hidden if ( ! $post->initial() ) { $formatter->append_start_tag( 'button', array( 'type' => 'submit', 'name' => 'wpcf7-copy', 'class' => 'copy button-link', 'value' => __( 'Duplicate', 'contact-form-7' ), ) ); $formatter->append_preformatted( esc_html( __( 'Duplicate', 'contact-form-7' ) ) ); $formatter->end_tag( 'button' ); } $formatter->end_tag( 'div' ); // #minor-publishing-actions $formatter->append_start_tag( 'div', array( 'id' => 'misc-publishing-actions', ) ); $formatter->call_user_func( static function () use ( $post_id ) { do_action( 'wpcf7_admin_misc_pub_section', $post_id ); } ); $formatter->end_tag( 'div' ); // #misc-publishing-actions $formatter->append_start_tag( 'div', array( 'id' => 'major-publishing-actions', ) ); if ( ! $post->initial() ) { $formatter->append_start_tag( 'div', array( 'id' => 'delete-action', ) ); $formatter->append_start_tag( 'button', array( 'type' => 'submit', 'name' => 'wpcf7-delete', 'class' => 'delete submitdelete', 'value' => __( 'Delete', 'contact-form-7' ), ) ); $formatter->append_preformatted( esc_html( __( 'Delete', 'contact-form-7' ) ) ); $formatter->end_tag( 'div' ); // #delete-action } $formatter->append_start_tag( 'div', array( 'id' => 'publishing-action', ) ); $formatter->append_preformatted( '<span class="spinner"></span>' ); $formatter->append_start_tag( 'button', array( 'type' => 'submit', 'class' => 'button-primary', 'name' => 'wpcf7-save', 'value' => __( 'Save', 'contact-form-7' ), ) ); $formatter->append_preformatted( esc_html( __( 'Save', 'contact-form-7' ) ) ); $formatter->end_tag( 'div' ); // #publishing-action $formatter->append_preformatted( '<div class="clear"></div>' ); $formatter->end_tag( 'div' ); // #major-publishing-actions $formatter->end_tag( 'div' ); // #submitpost $formatter->end_tag( 'div' ); // .inside $formatter->end_tag( 'section' ); // #submitdiv } $formatter->end_tag( 'div' ); // #postbox-container-1 $formatter->append_start_tag( 'div', array( 'id' => 'postbox-container-2', 'class' => 'postbox-container', ) ); $formatter->append_start_tag( 'div', array( 'id' => 'contact-form-editor', ) ); $formatter->call_user_func( static function () use ( $post, $post_id ) { $editor = new WPCF7_Editor( $post ); $panels = array(); if ( current_user_can( 'wpcf7_edit_contact_form', $post_id ) ) { $panels = array( 'form-panel' => array( 'title' => __( 'Form', 'contact-form-7' ), 'callback' => 'wpcf7_editor_panel_form', ), 'mail-panel' => array( 'title' => __( 'Mail', 'contact-form-7' ), 'callback' => 'wpcf7_editor_panel_mail', ), 'messages-panel' => array( 'title' => __( 'Messages', 'contact-form-7' ), 'callback' => 'wpcf7_editor_panel_messages', ), ); $additional_settings = $post->prop( 'additional_settings' ); if ( ! is_scalar( $additional_settings ) ) { $additional_settings = ''; } $additional_settings = trim( $additional_settings ); $additional_settings = explode( "\n", $additional_settings ); $additional_settings = array_filter( $additional_settings ); $additional_settings = count( $additional_settings ); $panels['additional-settings-panel'] = array( 'title' => $additional_settings ? sprintf( /* translators: %d: number of additional settings */ __( 'Additional Settings (%d)', 'contact-form-7' ), $additional_settings ) : __( 'Additional Settings', 'contact-form-7' ), 'callback' => 'wpcf7_editor_panel_additional_settings', ); } $panels = apply_filters( 'wpcf7_editor_panels', $panels ); foreach ( $panels as $id => $panel ) { $editor->add_panel( $id, $panel['title'], $panel['callback'] ); } $editor->display(); } ); $formatter->end_tag( 'div' ); // #contact-form-editor $formatter->end_tag( 'div' ); // #postbox-container-2 $formatter->end_tag( 'div' ); // #post-body $formatter->append_preformatted( '<br class="clear" />' ); $formatter->end_tag( 'div' ); // #poststuff $formatter->end_tag( 'form' ); } $formatter->end_tag( 'div' ); // .wrap $formatter->print(); $tag_generator = WPCF7_TagGenerator::get_instance(); $tag_generator->print_panels( $post ); do_action( 'wpcf7_admin_footer', $post );