2016-04-18 19 views
2

Ich versuche den Storefront-Seitentitel auf meiner Homepage zu verbergen. Dieser Code versteckt es von allen Seiten:Wie Seitentitel von WooCommerce Storefront Theme Homepage ausblenden?

function sf_change_homepage_title($args) { 
    remove_action('storefront_page', 'storefront_page_header', 10); 
} 
add_action('init', 'sf_change_homepage_title'); 

Aber ich kann is_front_page nicht() verwenden, da Wordpress Lasten functions.php vor dem $ wp_query Objekt mit der aktuellen Seite eingerichtet, wie here erläutert.

Ich würde es vorziehen, das Plugin "Title Toggle for Storefront Theme" nicht zu verwenden.

Vielen Dank.

Antwort

1

Die Lösung ist "init" mit "wp" zu ersetzen:

add_action('wp', 'sf_change_homepage_title'); 

Dank.

1

Sie haben die Antwort, zu der Sie verlinkt haben, nicht richtig verstanden. Sie können nicht is_front_page() direkt innerhalb functions.php verwenden, aber Sie können es vollständig in einer Rückruffunktion verwenden.

Die is_front_page() bedingt ist nur verfügbar, nachdem die Abfrage-Setup, das bei init geschieht.

So folgt aus:

function sf_change_homepage_title($args) { 
    if(is_front_page()) { 
     remove_action('storefront_page', 'storefront_page_header', 10); 
    } 
} 
add_action('init', 'sf_change_homepage_title'); 

arbeiten.

+0

Ich habe das vor dem Posten dieser Frage versucht, aber es funktioniert nicht. – retroriff

+0

Wenn es nicht funktioniert, liegt es daran, dass Ihre Aktion 'storefront_page' vor' init' ausgeführt wird. Wenn man bedenkt, dass diese Aktion mit Ihrem Thema/Plugin zusammenhängt, müssen Sie herausfinden, an welchem ​​Punkt Sie registriert sind und welchen Haken Sie verwenden können, um vorher etwas zu tun. Vielleicht probiere es mit 'after_setup_theme' statt mit 'init' aus. – vard