Erkennen, ob es sich um die Homepage in der functions.php handelt

Lesezeit: 2 Minuten

Benutzer-Avatar
bghaus

Ich versuche festzustellen, ob die aktuelle Seite die Startseite in meiner neuen Installation von WordPress ist.

Das folgende Code-Snippet funktioniert in page.php, aber nicht in functions.php. Wie kann ich die Homepage in der functions.php in WordPress erkennen?

if (is_front_page()) {
    echo 'test';
}

Ich weiß, dass ich es gebrauchen kann $_SERVER['REQUEST_URI']aber ich dachte, es sollte einen besseren Weg geben, dies zu tun.

In den WordPress-Einstellungen > Lesen habe ich eine statische Seite für meine Homepage. is_home() funktioniert nicht in meiner page.php, aber is_front_page() funktioniert in meiner page.php. Diese beiden Funktionen funktionieren in my functions.php nicht

  • Ohne zusätzlichen Code ist das schwer zu sagen. Können Sie mehr von dem Code in functions.php mit dem du arbeitest?

    – Kevinji

    5. September 2014 um 19:39 Uhr

  • Der Rohcode in functions.php wird ausgeführt, lange bevor WordPress anfängt, herauszufinden, welche Seite/Vorlage es verwenden wird. Was versuchst du eigentlich zu erreichen? Wahrscheinlich möchten Sie sich in eine Aktion einklinken oder filtern, um Ihren Code zu testen is_front_page wird so eingerichtet, dass es später ausgeführt wird, zu einem Zeitpunkt, an dem WordPress genug Dinge eingerichtet hat, um diese Frage zu beantworten … Von Die Noten: “is_home verwendet das globale $wp_query WP_Query-Objekt. is_home kann vor der Aktion parse_query nicht verwendet werden.” Sie müssen die Ausführung also mindestens bis zu diesem Zeitpunkt verschieben.

    – Matt Gibson

    5. September 2014 um 19:56 Uhr


  • Ich möchte einige Skripte und CSS nur für die Startseite in functions.php laden. Das versuche ich zu erreichen.

    – bghouse

    7. September 2014 um 20:53 Uhr

Benutzer-Avatar
Pieter Goosen

Nutzen Sie einfach die is_home() bedingtes Tag zur Überprüfung der Homepage

BEARBEITEN

Aus Ihren Kommentaren geht hervor, dass das, was Sie versuchen, niemals funktionieren wird. Sie müssen Ihren Code in eine Funktion einfügen und ihn dann an einen Haken hängen

<?php
function my_custom_function() {
    if(is_front_page()){ 
        echo "home"; 
    }else{ 
        echo "not home"; 
    }
}
add_action( 'wp_head', 'my_custom_function' );

Du behauptest auch in einem Kommentar dass Sie Stile und Skripte nur auf der Startseite laden möchten. Sie können Folgendes versuchen

<?php
function my_custom_function() {
    if(is_front_page()){ 
       //Load your styles and scripts
    }
}
add_action( 'wp_enqueue_scripts', 'my_custom_function' );

  • In den WordPress-Einstellungen > Lesen habe ich eine statische Seite für meine Homepage. is_home() funktioniert nicht in meiner page.php, aber is_front_page() funktioniert in meiner page.php. Diese beiden Funktionen funktionieren in meiner leeren functions.php nicht

    – bghouse

    12. September 2014 um 18:18 Uhr


  • Vielen Dank. is_front_page() funktionierte innerhalb der Aktion wp_enqueue_scripts in functions.php.

    – bghouse

    16. September 2014 um 20:32 Uhr

1364070cookie-checkErkennen, ob es sich um die Homepage in der functions.php handelt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy