Wie funktioniert mce_valid_elements?

  • Hallo Leute,

    meine Funktion "my_editor_mce_valid_elements" wird offensichtlich nicht ausgeführt. Nach langem Mühen hab ich eine Log-Funktion eingebaut, die eine Ausführung registrieren müsste. Andere Filter und Actions werden in meinem Plugin richtig ausgeführt.

    Code
    function my_editor_mce_valid_elements($valid_elements) {
      mylog (__function__. $valid_elements);
      return $valid_elements;
    }
    add_filter('mce_valid_elements', 'my_editor_mce_valid_elements');



    Nach der Doku sollte das so gehen. Was mache ich falsch? Welches Event löst die Verwendung von 'mce_valid_elements' aus?

    WordPress 2.6 DE-Edition, WP-Beginner, PHP-Profi

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Schau dir die tiny_mce_config.php im Ordner wp-includes/js/tinymce/ an.
    Der TinyMCE in WP ist eine Anpassung an WordPress selbst, die nicht alles so 1:1 macht, wie die TinyMCE Seite von Moxiecode beschreibt. Deshalb findest du auch diesen Kommentar in der config:

    Code
    // For people who really REALLY know what they're doing with TinyMCE
    // You can modify initArray to add, remove, change elements of the config before tinyMCE.init (changed from action to filter)
    $initArray = apply_filters('tiny_mce_before_init', $initArray);
    
    
    // Setting "[I][B]valid_elements[/B][/I]", "invalid_elements" and "extended_valid_elements" can be done through "tiny_mce_before_init".
    // Best is to use the default cleanup by not specifying valid_elements, as TinyMCE contains full set of XHTML 1.0.
  • Läuft prima,danke!

    Code
    function my_tiny_mce_before_init($init) {
        alert(__function__.rocky_tiny_mce_before_init);
        $init['theme_advanced_buttons1']= "removeformat,|,bold,italic,|,link,unlink";
        $init['valid_elements']= "img,a,p,b,i";
        return $init;
    }
    add_filter('tiny_mce_before_init', 'my_tiny_mce_before_init');




    Der Gipfel der Glückseligkeit wäre, wenn man Attribute ausschließen könnte. Speziell "width" und "height" kollidieren mit den CSS. Ist da was zu machen?

    WordPress 2.6 DE-Edition, WP-Beginner, PHP-Profi

  • :-D habs raus, das meinte ich:

    Code
    $init['extended_valid_elements'] = "img[class|src|alt|title|name]";



    Z.B. bei "img" muss man das sogar so machen sonst beibt nur <img/> übrig.

    Ich will das Design nur über CSS bestimmen, deshalb.

    WordPress 2.6 DE-Edition, WP-Beginner, PHP-Profi

    Einmal editiert, zuletzt von rabe (11. August 2008 um 16:02)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!