Hallo,
ohne Zugriff auf das Theme werden wir das wohl kaum sagen können.
Am besten wendest du dich an die Entwickler des Themes.
Viele Grüße
Hans-Gerd
Thread-Starter
atom13
(@atom13)
Hallo Hans-Gerd,
Danke für deine schnelle Rückmeldung. ich dachte zunächst wäre es wichtig zu wissen ob ACF das überhaupt „kann“, also können bestimmt aber wie das hinterlegt werden muss. Das ist ja dann unabhängig vom Theme, da der Code für die einzelnen Felder von ACF dann extra ins Theme geschrieben werden muss
Hallo,
vielleicht ist die folgende Doku hilfreich.
Viele Grüße
Hans-Gerd
Du kannst mit ACF weitere Felder für Text, Bilder, URLs, … anlegen. Dafür brauchst du nicht die kostenpflichtige Version.
Im Template wird der Eintrag des Custom Field mit sowas wie
<?php echo get_field('feldname'); ?>
ausgegeben. Dabei sollte die Ausgabe aber um möglichen Schadcode bereinigt werden, damit z.B. nicht statt eines Logos eine JavaScript-Funktion eingebunden wird. Für ein Logo könnte das so aussehen:
<?php echo esc_html( get_field('logo_one') ); ?>
Möchtest du nun dieses Logo verlinken, benötigst du ein weiteres Custom Field für die Erfassung der URL und musst außerdem den Code im Template anpassen. Aus dem Code-Beispiel wird dann sowas wie
<?php
$logo_one = get_field('logo_one');
$size = 'thumbnail';
$out = '<a href="' . esc_attr( get_field('logo_one_url') ) . '">';
$out .= '<img src="' . wp_get_attachment_image( $logo_one, $size ) . '" alt="Logo"></a>';
echo $out;
?>
Hier werden die ACF-Felder logo_one
und logo_one_url
abgerufen und dann zu einer Zeile HTML aneinandergehängt ($out
), in der das Logo mit der angegebenen URL verlinkt wird. Die Zeile wird am Ende mit echo $out;
ausgegeben.
Der vollständige Code sollte noch ein if-Statement enthalten, was passieren soll, wenn die Felder durch den Anwender nicht ausgefüllt wurden. Ich wollte es jetzt aber auch nicht zu kompliziert machen.
Aus heutiger Sicht ist das ohnehin alles recht mühsam. Moderne, blockbasierte Themes ermöglichen das Einfügen verlinkter Logos in den Seitentemplates ohne jeglichen Programmieraufwand.