Benutzerdefinierte Seitenvorlage, wie man is_page von functions.php überprüft?

Erstellen Sie eine benutzerdefinierte Seitenvorlage, und versuchen Sie, die Auszuglänge abhängig von der Seite, auf der Sie sich befinden, dynamisch zu gestalten.

functionen.php

 

kann nicht von den functionen in meiner benutzerdefinierten Vorlagenseite zur Arbeit mit is_page gelangen.

Wenn ich versuche, ist das echo is_page(15); Der Wert für die statische benutzerdefinierte Vorlage ist wahr .

Ich bin etwas verwirrt. Ist es möglich, is_page() von functions.php (WP 3.1.2) is_page()

Solutions Collecting From Web of "Benutzerdefinierte Seitenvorlage, wie man is_page von functions.php überprüft?"

Die Verwendung von is_page() innerhalb von functions.php ist in Ordnung, möglich und funktioniert, und wenn Sie is_page(15) und wahr werden, bedeutet das, dass Sie sich auf einer Seite mit der ID 15 befinden.

Das Problem könnte der Prioritätsparameter des Aufrufs add_filter sein, aus dem Codex:

Stellen Sie sicher, dass die Priorität richtig eingestellt ist, sonst wird der Standard-WordPress-Filter für diese function zuletzt ausgeführt und überschreibt, was Sie hier festgelegt haben.

Ändern Sie Ihren Code wie folgt:

 add_filter ( 'excerpt_length', 'custom_excerpt_length',999); 

Ich habe eine Lösung gefunden, die auf der function url_to_postid basiert

 $url = explode('?', 'http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); $ID = url_to_postid($url[0]); 

Damit kann ich die Post / Page ID in der Datei functions.php .

Das hat nichts damit zu tun, dass es sich in der functionsdatei befindet, sondern dass die function innerhalb von ‘The Loop’ aufgerufen wird, da sie an den Auszugfilter angehängt ist. is_page () gibt in der Schleife immer false zurück, also ist es dort nicht sinnvoll.