Ich fange gerade an, benutzerdefinierte Felder zu verwenden und möchte es verwenden, um eine Autorenbox mit (1) Autor Foto (2) Autor Name (3) Autor Bio anzuzeigen.
Ich benutze diesen Code in loop-single.php und es funktioniert gut:
ID, 'author-photo', 'author-name', 'author-bio', true) ) : ?>
Grundsätzlich zeigt das oben gezeigte Foto, Name und Biografie, wenn alle 3 benutzerdefinierten Feldwerte vorhanden sind.
Als nächstes habe ich versucht, nur den Autorennamen und Bio anzuzeigen, wenn der Fotowert nicht existiert. Also füge ich etwas Code direkt unter dem obigen Code hinzu und der resultierende gesamte Code sieht so aus:
ID, 'author-photo', 'author-name', 'author-bio', true) ) : ?>
ID, 'author-name', 'author-bio', true) ) : ?>
Nun, das funktioniert einwandfrei, wenn nur der Name des Autors und die Biowerte existieren. Wenn jedoch alle 3 Werte existieren, also Foto, Name und Bio, dann tritt ein Problem auf … es werden 2 Autorenboxen angezeigt (eine mit Foto und eine ohne Foto).
Wie kann ich dieses Problem lösen? (Ich brauche nur eine Autorenbox, entweder mit Foto oder ohne Foto).
Danke im Voraus!
PS: Ich habe versucht, “else” hinzuzufügen, bin mir aber nicht sicher, wie genau es programmiert werden soll. Ich habe Syntaxerrors erhalten, als ich versucht habe, “else” zwischen den Code einzufügen. Alle Hinweise würden sehr geschätzt werden!
Es gibt mehrere Möglichkeiten, dies zu tun. Versuchen:
< ?php if ( get_post_meta($post->ID, 'author-photo', 'author-name', 'author-bio', true) ) { ?>
< ?php } ?> < ?php else { ?> < ?php if ( get_post_meta($post->ID, 'author-name', 'author-bio', true) ) { ?> < ?php } ?> < ?php } ?>