WP ersetzt Code??

  • Hallo,

    ich habe ein ungewöhnliches Problem ...
    Auf einer Seite zu Photovoltaik Versicherungen habe ich ein externes Rechner-Skript eingebaut. Mein Visual Editor ist abgeschaltet, per Plugin "php-execute" lässt WP php-Code auf den Seiten zu.
    Das geht auch - auf der Seite Photovoltaik-Berechnung funktioniert mein bisschen Newbie-PHP reibungslos.

    Aber nun: WP scheint den externen Code auf der Versicherungsseite einfach zu verändern! Da werden z.B. <p>-Tags eingebaut, wo keine sind, CDATA wird nicht gelesen, und ähnliche Scherze.
    Mal abgesehen davon, dass es den Rechner auch optisch völlig zerhaut (in Firefox sieht alles, naja einigermaßen gut aus, in ie8 nur noch html-Salat ...), die Funktionalität ist komplett neben der Spur.

    Kann das sein, dass WP Codes "umstrickt"?? Sehr, sehr seltsam.
    Ich bin erst seit ein paar Monaten dran, kenne mich also noch nicht SOOO gut aus ...
    Irgendjemand eine Idee?

    Danke!
    Farlif

    Einmal editiert, zuletzt von Farlif (19. Juni 2010 um 16:16)

    • 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

  • Ja, WP strickt am Code rum. Deshalb sollte man lieber ein Seitentemplate verwenden, wenn es um zusätzlichen (PHP-)Code geht.

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • Am besten alles was nichts mit Text zu tun hat. ;)
    Um die automatischen <p>'s zu unterdrücken, kann man diesen Filter auch deaktivieren.
    In die Theme functions.php folgendes eintragen:

    Zitat

    remove_filter ('the_content', 'wpautop');

  • "Am besten alles" ist ein großes Wort ;)
    Ich möchte ja das Design und die Sidebars beibehalten ... Darum habe ich mich für den Filter des Filters entschieden.

    Zwei Fragen: Gibt es die Möglichkeit, das nur auf bestimmt Seiten zu beschränken? Also (ich habe keine Ahnung von php) ungefähr so?

    PHP
    <?php
    if is_page(xy) :
    remove_filter ('the_content', 'wpautop'); 
    else ();
    endif;
    ?>

    Und - gibt es irgendwo eine Liste von weiteren Filtern, die man abstellen kann?
    Danke!

    Einmal editiert, zuletzt von Farlif (19. Juni 2010 um 20:29)

  • Ja, das ist selbstverständlich möglich.

    PHP
    if ( is_page('x') ) {
      remove_filter ('the_content', 'wpautop');
      remove_filter ('the_content', 'wptexturize');
      remove_filter ('the_content', 'convert_smilies');
      remove_filter ('the_content', 'convert_chars');
    }


    Das X ersetzt du dann entweder mit dem Seitentitel oder mit der ID der Seite. Die ID siehst du zB in der URL, wenn du die Seite bearbeitest.
    Ich habe auch mal wptexturize hinzugefügt, das ist auch dafür da aus " “ zu machen.

    Aber wie jottlieb schon sagt, ein Seitentemplate zu erstellen wäre besser.

    Einmal editiert, zuletzt von ocean90 (19. Juni 2010 um 20:39)

  • Danke euch beiden!!
    Ich baue das mal ein, teste, ob es klappt ...

    EDIT: Es klappt nicht.
    Wo genau muss ich das denn in der functions.php einbauen? Ich habe den Code von ocean90 einfach ans Ende gehängt - ohne Erfolg. dann in

    PHP
    <?php ... ?>


    Die Fehlermeldung spricht von einem 'unexpected "<"'.
    Sorry, dass ich so doof bin, aber leider bin ich so doof. ;)

    Grüße, Farlif

    Einmal editiert, zuletzt von Farlif (21. Juni 2010 um 11:03)

Jetzt mitmachen!

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