In WordPress-Themes und anderen PHP-Dateien stehen häufig PHP und HTML gemischt. Einen solchen Abschnitt vorübergehend zu deaktivieren ist etwas heikler als reinen HTML- oder PHP-Code auszukommentieren.
Wichtig: Ein HTML-Kommentar stoppt PHP nicht
Diese Schreibweise reicht nicht, wenn im Block PHP enthalten ist:
<!-- <?php do_something(); ?> -->
Der Grund: PHP wird auf dem Server verarbeitet, bevor das erzeugte HTML beim Browser ankommt. Der PHP-Code innerhalb des HTML-Kommentars wird deshalb weiterhin ausgeführt. Nur seine HTML-Ausgabe kann anschließend im Browser-Kommentar verborgen sein. Funktionen mit Nebenwirkungen – Datenbankänderungen, Includes, API-Aufrufe usw. – laufen trotzdem.
Gemischten PHP-/HTML-Block wirklich deaktivieren
Für einen temporären Test kannst du einen gemischten Bereich mit einer PHP-Bedingung überspringen:
<?php if ( false ) : ?>
<div>
Dieser HTML-Teil wird nicht ausgegeben.
<?php echo 'Auch dieser PHP-Zweig wird nicht ausgeführt'; ?>
</div>
<?php endif; ?>
PHP unterstützt diese alternative Syntax ausdrücklich für Templates mit gemischtem HTML/PHP. Der Code muss syntaktisch weiterhin korrekt sein, der Inhalt des falschen Zweigs wird aber nicht ausgeführt beziehungsweise ausgegeben.
Reinen PHP-Code kommentieren
Innerhalb eines PHP-Blocks stehen die normalen Kommentararten zur Verfügung:
<?php // einzeiliger Kommentar # ebenfalls einzeilig /* mehrzeiliger Kommentar */ ?>
Mehrzeilige /* ... */-Kommentare dürfen nicht beliebig ineinander verschachtelt werden.
WordPress-Hinweis
Änderungen an Theme-Dateien solltest du möglichst in einem Child Theme beziehungsweise unter Versionskontrolle vornehmen. Ein Theme-Update kann direkte Änderungen am Parent Theme überschreiben. Für einen längeren Stilllegungszeitraum ist es meist besser, den betreffenden Template-Code sauber zu entfernen oder über eine nachvollziehbare Bedingung/Funktion zu steuern.