WordPress-Editor funktioniert nicht mit benutzerdefiniertem Widget

Lesezeit: 5 Minuten

Benutzer-Avatar
Mansuk Khandhar

Ich habe ein Come-Skript für Add erstellt Wp-Editer an anderer Stelle funktioniert es einwandfrei, aber nicht in Widget und Page Builder von SiteOrigin bitte helft mir … so aussehen Geben Sie hier die Bildbeschreibung ein

Mein Skript wie unten.

<?php
    // Register widget
    function register_getstarted_widget() {
    register_widget('mansukh_Aboutus');
    }

    add_action('widgets_init', 'register_getstarted_widget');

    /**
     * Adds About Us widget.
     */

    class mansukh_Aboutus extends WP_Widget {

    /**
     * Register widget with WordPress.
     */
    function __construct() {
        parent::__construct(
                'mansukh_aboutus', // Base ID
                __('Fulgent About Us', 'mansukh'), // Name
                array('description' => __('Displays a About Us section.', 'mansukh'),) // Args
        );
    }

    /**
     * Front-end display of widget.
     *
     * @see WP_Widget::widget()
     *
     * @param array $args     Widget arguments.
     * @param array $instance Saved values from database.
     */
    public function widget($args, $instance) {
        echo $args['before_widget'];

        /* if (!empty($instance['title'])) {
          echo $args['before_title'] . apply_filters('widget_title', $instance['title']) . $args['after_title'];
          } */

        /* Home About Us */
        $mansukh_home_title = !empty($instance['mansukh_home_title']) ? sanitize_text_field($instance['mansukh_home_title']) : '';
        $mansukh_home_aboutus = !empty($instance['mansukh_home_aboutus']) ? wpautop($instance['mansukh_home_aboutus']) : '';
        ?>
        <div class="section-row about-secton">
            <div class="container">
                <div class="row">


                    <div class="col-md-12 main-objective">
                        <div class="row">
                            <div class="<?php echo $mansukh_home_aboutus ? 'col-md-6' : 'col-md-12' ?> col-sm-12">
                                <?php echo $mansukh_home_aboutus; ?>
                            </div>

                        </div>    
                    </div>

                </div>
            </div>
        </div>
        <?php
        echo $args['after_widget'];
    }

    /**
     * Back-end widget form.
     *
     * @see WP_Widget::form()
     *
     * @param array $instance Previously saved values from database.
     */
    public function form($instance) {

        #$title = !empty($instance['title']) ? $instance['title'] : __('New title', 'mansukh');

        /* Home About Us */
        $mansukh_home_title = !empty($instance['mansukh_home_title']) ? sanitize_text_field($instance['mansukh_home_title']) : '';        
        $mansukh_home_aboutus = !empty($instance['mansukh_home_aboutus']) ? wpautop($instance['mansukh_home_aboutus']) : '';

        /*
          ?>
          <p>
          <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>
          <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>">
          </p>
         */
        ?>
        <div class="page-widget themeoption-themes1">
            <div class="section theme-tabs">                
                <div class="theme-option-inner-tab-group">
                    <div class="ft-control">
                        <label class="explain" for="<?php echo $this->get_field_id('mansukh_home_title'); ?>"><?php _e('About Us Title', 'mansukh'); ?></label>
                        <input id="<?php echo $this->get_field_id('mansukh_home_title'); ?>" class="of-input" type="text" name="<?php echo $this->get_field_name('mansukh_home_title'); ?>" 
                               value="<?php echo $mansukh_home_title; ?>" placeholder="<?php _e('About Us Title', 'mansukh'); ?>" />
                    </div>                
                </div>
            </div>            
            <div class="section theme-tabs">                
                <div class="theme-option-inner-tab-group">
                    <div class="ft-control">
                        <label class="explain" for="<?php echo $this->get_field_id('mansukh_home_aboutus'); ?>"><?php _e('Aboutus Details', 'mansukh'); ?></label>
                        <?php
                        $mansukh_editor_id = $this->get_field_id('mansukh_home_aboutus');
                        $mansukh_editor_name = $this->get_field_name('mansukh_home_aboutus');
                        $mansukh_settings = array(
                            'textarea_name' => $mansukh_editor_name,
                            'textarea_rows' => 20,
                            'media_buttons' => false,
                            'teeny' => true,
                        );
                        wp_editor($mansukh_home_aboutus, $mansukh_editor_id, $mansukh_settings);


                        ?> 
                    </div>
                </div>
            </div>

        </div>

        <?php
    }

    /**
     * Sanitize widget form values as they are saved.
     *
     * @see WP_Widget::update()
     *
     * @param array $new_instance Values just sent to be saved.
     * @param array $old_instance Previously saved values from database.
     *
     * @return array Updated safe values to be saved.
     */
    public function update($new_instance, $old_instance) {
        $instance = array();

        #$instance['title'] = (!empty($new_instance['title']) ) ? strip_tags($new_instance['title']) : '';

        /* Home Banner */
        $instance['mansukh_home_title'] = (!empty($new_instance['mansukh_home_title']) ) ? sanitize_text_field($new_instance['mansukh_home_title']) : '';
        $instance['mansukh_home_aboutus'] = (!empty($new_instance['mansukh_home_aboutus']) ) ? wpautop($new_instance['mansukh_home_aboutus']) : '';

        return $instance;
    }

}

// End About Us Widget.

?>

  • Ich sehe, dass es funktioniert, wenn Sie tinymce auch deaktivieren.

    – Goran Jakovljević

    25. November 2015 um 10:05 Uhr

  • Bitte informieren Sie sich, wie kann ich tinymce deaktivieren?

    – Mansukh Khandhar

    25. November 2015 um 10:13 Uhr

Benutzer-Avatar
Goran Jakovljević

Das Problem ist, dass es ein verstecktes Widget gibt, in dem TinyMCE zuerst erscheint.

Anstatt die Antwort zu kopieren, schau sie dir hier an: https://wordpress.stackexchange.com/questions/82670/why-cant-wp-editor-be-used-in-a-custom-widget

Es ist ein bisschen kompliziert, aber nur eine Problemumgehung.

  • Danke, dass Sie mir diese Antwort vorgeschlagen haben, die ich bereits versucht habe, aber nicht funktionieren kann.

    – Mansukh Khandhar

    25. November 2015 um 10:23 Uhr

Benutzer-Avatar
Attiq

Heute nach zwei Jahren stand ich vor dem ähnlichen Problem und habe es gelöst. Ich habe das Hero-Widget im Page Builder verwendet, eine Zeile eingegeben und wollte daraus eine Überschrift machen, aber der Editor ließ keine Optionen zu, während im normalen Editor alles in Ordnung war. Aber es hat nicht funktioniert, als ich mich im Page Builder-Modus befand. Ich habe meinen Computer neu gestartet, den gesamten Cache gelöscht und es hat funktioniert, als ich einen anderen Browser verwendet habe.

Benutzer-Avatar
Prasad

Dies kann einfach mit dem Standard-Widget erfolgen, das sich in deiner wp-includes/widgets/class-wp-widget-text.php befindet

  1. Kopieren Sie einfach den Code in Ihre functions.php Ihres Child-Themes.

  2. Benennen Sie den Klassennamen „WP_Widget_Text“ in einen beliebigen anderen Namen um, den Sie benötigen

  3. Sie können den Widget-Namen im folgenden Code ändern. Ändern Sie keinen anderen Code. parent::__construct( ‘text’, __( ‘Name Ihres neuen Widgets’ ), ​​$widget_ops, $control_ops );

  4. Registrieren Sie dann das Widget mit dem folgenden Code.

     function wpb_load_widget() {
         register_widget( 'Your widget class name' );
     }
     add_action( 'widgets_init', 'wpb_load_widget' );
    

Bildschirmfoto

1093430cookie-checkWordPress-Editor funktioniert nicht mit benutzerdefiniertem Widget

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy