OptimizePress Theme Überschreibe add_filter page_template

Ich habe ein benutzerdefiniertes Plugin, das die folgende function ausführt, um die Seitenvorlage für meine vordefinierten Seiten zu ändern. Es läuft gut auf dem Standard-Design 2017, wird aber von OptimizePressTheme überschrieben.

function _plc_page_template ($template) { $pages = _plc_get_custom_pages(); foreach ($pages as $slug => $title) { if (is_page ($slug) && is_file (PLC_TEMPLATES . $slug . '.tpl.php')) { $template = dirname (__FILE__) . '/templates/' . $slug . '.tpl.php'; } } return $template; } add_filter ('page_template', '_plc_page_template', 99999); 

Die function wird weiterhin ausgeführt und gibt den Vorlagenwert zurück, die benutzerdefinierte Vorlage wird jedoch nicht einmal auf der Seite gerendert. Kennt jemand die Möglichkeit, die Vorlage für OptimizePress zu überschreiben? Vielen Dank.

(Der 99999 Gewichtswert hat mich nur versucht, es nach OptimizePress in Brand zu setzen.)

Solutions Collecting From Web of "OptimizePress Theme Überschreibe add_filter page_template"

Musste den Filter auf den template_include- Hook umschalten. Ich weiß nicht, ob das der richtige Weg ist, aber es funktioniert:

 function _plc_template_include ($template) { $pages = _plc_get_custom_pages(); foreach ($pages as $slug => $title) { if (is_page ($slug) && is_file (PLC_TEMPLATES . $slug . '.tpl.php')) { ob_start(); include PLC_TEMPLATES . $slug . '.tpl.php'; $content = ob_get_clean(); include PLC_TEMPLATES . 'content.tpl.php'; return; } } include $template; } add_filter ('template_include', '_plc_template_include', 99999); 

Ich legte den Inhalt der Vorlage in eine Variable und legte den gesamten Inhalt in eine Vorlage, um zu vermeiden, die Kopf- und Fußzeile jedes Mal neu zu schreiben, hätte aber einfach gesagt:

 include PLC_TEMPLATES . $slug . '.tpl.php'; return; 

anstelle der Methoden ob_start und ob_get_clean.