Benutzerdefinierte Postvorlage verwenden

Ich versuche, eine benutzerdefinierte Post-Vorlage für alle Beiträge in einer bestimmten Kategorie zu implementieren.

Ich benutze das WP-O-Matic-Plugin , das die RSS-Feeds in diese Kategorie einfügt und ein wenig Anpassung für das Branding von Posts in dieser Kategorie vornehmen möchte.

Ich habe den folgenden Code von hier gefunden: http://www.nathanrice.net/blog/wordpress-single-post-templates/

Aber wenn ich das zu meiner functions.php hinzufüge, bekomme ich eine Warnung:

Parse-Fehler: Syntaxerrors, unerwartete T_LNUMBER, erwartete T_STRING oder T_VARIABLE oder “{” oder “$” in public_html / wp-content / themes / mytheme / functions.php (16): Laufzeit erstellte function in Zeile 1

add_filter( 'single_template', create_function( '$t', 'foreach( (array) get_the_category() as $cat ) { if ( file_exists(TEMPLATEPATH . "/single-{$cat->1176}.php") ) return TEMPLATEPATH . "/single-{$cat->1176}.php"; } return $t;' ) ); 

Irgendeine Idee, wie man das herausfinden kann.

PS: Ich habe versucht, einen anderen Ansatz zu verwenden, bei dem ich single.php als Einstiegsseite für eine WP-Abfrage erstellt habe. Wenn die Kategorie-ID übereinstimmt, wird custom-template.php sonst default-template.php gerendert

Wie hier erwähnt.

Aber ich bekomme weiterhin den folgenden Fehler:

Parse-Fehler: Syntaxerrors, unerwartete T_LNUMBER, erwartete T_STRING oder T_VARIABLE oder “{” oder “$” in public_html / wp-content / themes / mytheme / functions.php (16): Laufzeit erstellte function in Zeile 1

Warnung: call_user_func_array () [function.call-user-func-array]: Es wird erwartet, dass das erste Argument ein gültiger Callback ist, ” wurde in / public_html/wp-includes/plugin.php in Zeile 166 angegeben

Solutions Collecting From Web of "Benutzerdefinierte Postvorlage verwenden"

$cat->1176 kann keine Eigenschaft eines Objekts sein.

PHP Handbuch :

Ein gültiger Variablenname beginnt mit einem Buchstaben oder Unterstrich, gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen. Als ein regulärer Ausdruck würde es so ausgedrückt werden: ‘[a-zA-Z_ \ x7f- \ xff] [a-zA-Z0-9_ \ x7f- \ xff] *’

Verwenden Sie $cat->term_id und vergleichen Sie den Wert mit der Nummer, für die Sie sich entschieden haben.

Und … verwende keine anonymen functionen . Sie können nicht von Opcode-Caches wie APC zwischengespeichert werden und sind schwer zu debuggen – wie Sie gesehen haben. Und wenn jemand diesen Filter in einem Child-Theme entfernen möchte, ist das jetzt sehr, sehr schwer.