Fehlermeldungen unterdrücken und loggen
In der wp-config.php
define('WP_DEBUG', false);
Ersetzen durch:
ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Log-Datei befindet sich in:
/wp-content/debug.log
Hier gibt es verschiedene Lösungsansätze:
- Adminbereich -> Elementor -> Tab „Generell“: Alle erforderlichen Inhaltstypen anklicken.
- Adminbereich -> Einstellungen -> Lesen: Falls unter Homepage- und Beitragsseite die gleiche Seite eingestelltsein sollte, eine nach Möglichkeit auf „Auswählen“ stellen.
- Templatewechsel
- Seite mit einem Elementortemplate abspeichern.
In der wp-config.php
define('WP_DEBUG', false);
ändern in
define('WP_DEBUG', true);
Dann „Übeltäter“ deaktiveren.
Dieses Plugin stützt sich auf einige veraltete Funktionen in Elementor.
Sie müssen alle Instanzen von
use Elementor\Scheme_Typography;
ersetzen. mit
use Elementor\Core\Schemes\Typography;
und
Scheme_Typography::
in
Typography::
Gleiches gilt für Scheme_Color.
PhpMyAdmin:
ALTER TABLE `#__menu_types` ADD COLUMN `client_id` int(11) NOT NULL DEFAULT 0;
UPDATE `#__menu` SET `published` = 1 WHERE `menutype` = 'main' OR `menutype` = 'menu';
Damit sind offenbar die geforderten Felder (wieder) vorhanden.
Was man auch noch probieren kann:
http://www.example.com/administrator/index.php?option=com_installer&task=database.fix
In der betreffenden Zeile die geschweifte Klammer durch eckige ersetzen.
Beispiel:
Got error 'PHP message: PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in...
Ersetze
$level = $matches[2]{0} == '=' ? 1 : 2;
durch
$level = $matches[2][0] == '=' ? 1 : 2;
- Dubuggen anschalten und schauen, ob ein Plugin oder sonstiger Code den Fehler verursacht oder
- Im Standardeditor von »Text« auf »Visuell« stellen oder
- Gutenberg-Editor installieren, aktivieren und Standardeditor deaktivieren.
in dieser Zeile die if-Abfrage anpassen:
if(isset($name[0])) {
if ($important = $name[0] == '!') { $name = ltrim($name, '!'); }
}
Mögliche Ursachen:
- missglücktes WordPress-Update
- fehlerhaftes Plugin oder Theme
- beschädigte Datenbank
- Fehler in der wp-config.php (falsche Zugangsdaten)
- Stimmen die Datenbank-Zugangsdaten?
- Ist die Zeile „require_once(ABSPATH . ‚wp-settings.php‘);“ ganz unten vorhanden?
- Stimmt der Tabellen-Präfix ($table_prefix)?
- Ist der Key gültig?
define( 'AUTH_KEY', 'TJ&Lwf?3ya~cx)i e%S~lZ+t#P8}P7,ox+;QmUvFEcyhMJx!lv<6>-VM9M05}[c' );
define( 'SECURE_AUTH_KEY', 'a%`_wL>c:6d^AP-`si>mh }w[>$lwny`VlM&)p{-kkzlfOohnMtF^KX9hmxpyvvc' );
define( 'LOGGED_IN_KEY', 'RT .y`_&YO>3?WS4aSiNpCIxL])BX3j?JgKa8yyKpO5O<Zs@5W+uw4ci@4tua4pc' );
define( 'NONCE_KEY', 'i=zNoJL{OD8hm9eKIE~8WPIVP>rEs1;9#g2?bg>!:+%^~t4B;#mTkABpA,,c90C0' );
define( 'AUTH_SALT', 'hHf`GF1%pMJk6]63SJ3396YP0V>R]G.ss;0v6GOn_xW>j3QsKxaxc:y*np/$2R@/' );
define( 'SECURE_AUTH_SALT', 'd),A.r{@K(,/yS7spQpj<@GKQ7^]1$Wg7jTBg=QMG3#0XONB9Y1W?c9d=N=o?36D' );
define( 'LOGGED_IN_SALT', '8ZMCMqg=SXgy`,e@Cdozn+-dTWyDCb|~HjxUEWFedK?<Lbli(ayn~i0MAuUK;>c=' );
define( 'NONCE_SALT', '2lyVbz/oMOo12cnECk3+W$6f(qiTYDF?I!7.H}])t6a#vnrtQ*]{#ME iiVB^Wi:' );
Auf wordpress.org kann man einen neuen Key generieren lassen:
https://api.wordpress.org/secret-key/1.1/salt/
Lösung 1: Einstellungen → Permalinks neu aufrufen oder auf Standard setzen.
- Cronjob einrichten, der die Seite zu einem früheren Zeitpunkt aufruft.