header_image () mit CSS

Vergib meine Unwissenheit in der Sache, da ich gerade erst begonnen habe, mich mit WordPress zu beschäftigen. Aber ich habe mich gefragt, ob es eine Möglichkeit gibt, header_image() in CSS zu verwenden.

So erlaubt mir beispielsweise meine functions.php , eine PHP-Datei mit der Kopfzeile in die Warteschlange zu stellen:

Erlaubt mir, mein Thema damit zu manipulieren. Jetzt möchte ich, dass mein Header-Bild über den Customizer bearbeitet werden kann, anstatt dass der Benutzer durch die CSS-Dateien navigieren muss. Also zum Beispiel:

 .headerimg { /* Set a specific height */ height: 700px; /* Create the parallax scrolling effect */ background-image: url(""); background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; /* Styling */ border-top: 3px solid transparent; border-bottom: 3px solid #0099FF; } 

Dies funktioniert natürlich nicht und wirft den Fehler auf:

Schwerwiegender Fehler : Uncaught Error: Aufruf der undefinierten function header_image () in [Dateipfad]

Also, kurz – gibt es einen Weg, diesen Effekt zu erreichen? Oder muss ich mich darauf verlassen, dass ich nur geradlinige Elemente verwende

Solutions Collecting From Web of "header_image () mit CSS"

Nein, im Allgemeinen ist es nicht möglich, PHP in CSS zu verwenden. Aber Sie können Hintergrundbild in PHP-Datei festlegen. Mögen..

 

Dann können Sie in der CSS-Datei mithilfe der class alle anderen benötigten Eigenschaften wie Höhe, Breite, Hintergrundposition usw. festlegen.

Um auf die function header_image() zugreifen zu können, müssten Sie die gesamte WordPress-Datei von der Datei, die Ihr Stylesheet erzeugt, starten.

Eine bessere Option wäre, bei einer statischen .css-Datei zu bleiben, aber den dynamischen Teil für die Verwendung in wp_add_inline_style() . Wenn alles gesagt und getan ist, sieht es vielleicht so aus:

 // Generate inline scripts and styles and attach them to the appropriate script handles. function my_inline_scripts() { // header_image() prints the image - we want it as a string. $image = get_header_image(); // Can be false - it might be better to set a fallback here... if ( ! $image ) { return; } // First param should be the handle of your theme stylesheet. wp_add_inline_style( 'my-theme-style', ".headerimg { background-image: url(\"{$image}\"); }"; } add_action( 'wp_enqueue_scripts', 'my_inline_scripts' );