it-swarm.com.de

Wie exportiere ich den HTML-Code aus Text-Widgets?

Ich habe HTML in mehrere Text-Widgets eingefügt, die verloren gingen, nachdem ich alle inaktiven Widgets gelöscht und Themen geändert habe, aber die Daten in den Tabellen gefunden habe.

Das einzige Problem, es ist gemischt mit all dem anderen Mistcode und ich möchte nur HTML oder Text.

Alle Exportoptionen erlauben keinen Export von Text oder HTML, obwohl ich das zuerst in die Text-Widgets eingegeben habe.

2
Haymanpl

Die Daten in der Optionstabelle werden als serialisierte Arrays gespeichert. Verwenden Sie get_option(), um die Daten abzurufen und zu deserialisieren.

array_walk(
    get_option( 'widget_text' ),
    function( $d ){
        if ( ! empty( $d['title'] ) ) {
            printf( '<p>Title: %s<br>Text: %s</p>', $d['title'], htmlentities( $d['text'] ) );
        }
    }
);

Wenn Sie ein vollständiges Plugin benötigen, verwenden Sie dieses. Es ist ein einfaches Debug-Plugin. Hochladen, aktivieren und zum Dashboard gehen. Nach der Aktivierung sollte es ein Debug-Widget geben. Wenn nicht, öffne die Bildschirmoptionen und aktiviere das Debug-Widget.

<?php
/*
Plugin Name: __WPSE__
Description: Testing plugincode
*/

add_action( 'plugins_loaded', function(){ new TestPlugin; } );

class TestPlugin {

    public function __construct(){

        add_action( 'wp_dashboard_setup', array( $this, 'add_dashboard_widget' ) );

    }

    public function add_dashboard_widget(){

        wp_add_dashboard_widget(
            'debug-widget',
            'Debug Widget',
            array( $this, 'output' ),
            $control_callback = null
        );

    }

    public function output(){

        echo '<div class="wrap">';

        array_walk(
            get_option( 'widget_text' ),
            function( $d ){
                if ( ! empty( $d['title'] ) )
                    printf( '<p>Title: %s<br>Text: %s</p>', $d['title'], htmlentities( $d['text'] ) );
            }
        );

        echo '</div>';

    }

}
2
Ralf912