it-swarm.com.de

Benutzerdefinierte Post-Vorlage verwenden

ich versuche, eine benutzerdefinierte Beitragsvorlage für alle Beiträge zu implementieren, die unter einer bestimmten Kategorie abgelegt sind.

Ich benutze das WP-O-Matic-Plugin , das die RSS-Feeds in diese Kategorie stellt und machen möchte einige Anpassungen für das Branding von Posts, die unter dieser bestimmten Kategorie abgelegt wurden.

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

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

Parse-Fehler: Syntaxfehler, unerwartete T_LNUMBER, erwartet T_STRING oder T_VARIABLE oder '{' oder '$' in public_html/wp-content/themes/mytheme/functions.php (16): zur Laufzeit erstellte Funktion 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 herausfindet.

P.S: Ich habe versucht, einen anderen Ansatz zu verwenden, bei dem ich single.php als Eingangsseite erstellt habe, um eine WP-Abfrage auszuführen. Wenn die ID der Kategorie übereinstimmt, wird die Datei custom-template.php und die Datei default-template.php gerendert

Wie erwähnt hier .

Aber ich bekomme weiterhin den folgenden Fehler:

Parse-Fehler: Syntaxfehler, unerwartete T_LNUMBER, erwartet T_STRING oder T_VARIABLE oder '{' oder '$' in public_html/wp-content/themes/mytheme/functions.php (16): zur Laufzeit erstellte Funktion in Zeile 1

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

1
Sledge81

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

PHP Manual :

Ein gültiger Variablenname beginnt mit einem Buchstaben oder Unterstrich, gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen. Als regulärer Ausdruck würde er folgendermaßen ausgedrückt: '[a-zA-Z_\x7f-\xff] [a-zA-Z0-9_\x7f-\xff] *'

Verwenden Sie $cat->term_id und vergleichen Sie den Wert mit der Zahl, nach der Sie gesucht haben.

Und… verwenden Sie keine anonymen Funktionen . Sie können nicht von Opcode-Caches wie APC zwischengespeichert werden und sind schwer zu debuggen - wie Sie gesehen haben. Wenn jemand diesen Filter in einem untergeordneten Thema entfernen möchte, ist das jetzt sehr, sehr schwierig.

1
fuxia