Sidebar
ein-/ausblenden

WordPress benutzerdefinerte Felder (Custom Fields)

Plugin für WordPress SEO

Anzeige

Das ich WordPress für ein flexible und mächtige Applikation halte, ist sicher bekannt. WordPress kann mehr als nur Weblogpublishing. In letzter Zeit kamen vermehrt Fragen bezüglich bestimmter Anwendungswünsche und ob man dafür ein Plugin kennt oder erstellen könnte.

Deshalb auch der Artikel hier. Es gibt innerhalb des Schreibens eines Beitrags/ Seite in WordPress die Möglichkeit benutzerdefinierte Felder anzulegen und mit Werten zu füllen. Mit diesen Werten und Feldern kann man arbeiten und eine Menge an Anforderungen lösen, „ohne Plugin”. Allerdings will ich eines nicht verschweigen, das einfache und unkomplizierte Auslesen eines Wertes zu einem Schlüssel funktioniert nur innerhalb des Loop. Deshalb dazu im Folgenden eine kleine, einfache Lösung zum Anpassen.

Custom Fields

Will man innerhalb des Loop einen Schlüssel auslesen, dann genügt folgender Syntax, innerhalb des Templates. Im ersten Beispiel wird der Link zu einem Bild zum Schlüssel image_des_beitrags gespeichert und nachfolgend mit HTML ausgegeben.


<?php $image = get_post_meta($post->ID, 'image_des_beitrags', true); ?>

<a href="<?php the_permalink() ?>"><img src="<?php echo $image; ?>" alt="<?php the_title(); ?>" /></a>

Will man nicht den kompletten Link als Wert speichern, kann man das natürlich anpassen. Denkbar ist beispielsweise, wenn die Bilder immer im uploads-Ordner von WordPress gespeichert werden, dass man nur den Bildnamen speichert und den Rest immer im Quellcode des Templates hat.


<?php $image = get_post_meta($post->ID, 'image_des_beitrags', true); ?>

<a href="<?php the_permalink() ?>"><img src="<?php get_option('siteurl'); ?>wp-content/uploads/<?php echo $image; ?>" alt="<?php the_title(); ?>" /></a>

Ähnliche Anwendungen kann man natürlich auch mit einer Reihe anderer Inhalte und Anforderungen machen.

Außerhalb des Loop

Möchte man aber an einzelne Felder außerhalb des Loop kommen, so reichen die mitgegebenen Mittel von WordPress nicht aus um ein einzelnes Feld auszulesen. Dazu empfehle ich das Ablegen eines kleinen Plugins, welches das jeweilige Feld ausliest und die Daten in einer Funktion übergibt. Die einfachste Form könnte beispielsweise wie folgt aussehen. Dieses nutze ich, um im PhotoBlogFB Theme die EXIF-Daten der Bilder auszulesen.

<?php
/*
Plugin Name: MetaKey
Plugin URI: http://bueltge.de/
Description: Benutzerdefiniertes Feld auslesen
Version: 1.0
Author: Frank Bueltge
Author URI: http://bueltge.de/
*/


// Meta-Key: image_des_beitrags
function fb_meta_image() {
	global $id, $post_meta_cache;

	if ( $keys = get_post_custom_keys() ) {
		foreach ( $keys as $key ) {
			$values = array_map('trim', get_post_custom_values($key));
			$value = implode($values,', ');
			if ( $key == 'image_des_beitrags' ) {
				return $value;
			}
		}
	}
}

?>

Entscheidend für die Funktion ist die Variable $key, die den Namen des Schlüssels übergeben bekommt und den Wert dann durch die Funktion übergibt.

$image = fb_meta_image();
if ($image != '') {
. . .
}

Der Wert wird im obigen Beispiel an die Variable $image übergeben und die prüfe ich dann, ob sie ungleich leer (ungleich !=) ist. Wenn sie nicht leer ist, dann soll weiteres damit gemacht werden.

Diesen Code legt man sich als php-Datei im Plugin-Verzeichnis von WordPress ab und aktiviert es. Danach steht die Funktion bereit und kann, wie im obigen kleinen Beispiel, genutzt werden.

Sollten keine Kenntnisse im Bereich Plugin vorhanden sein, so habe ich auf einem älteren Artikel schon mal die Funktion und die wichtigen Hintergründe für das Funktionieren von Plugins erläutert - WP - Tutorial, wir schreiben ein WordPress Plugin - Teil 1. Dort werden unter anderem die Kommentare im Code, wozu und warum, erklärt. Auch eine umfangreicher Version des vorgestellten Code entsteht dort, so dass man ein wenig flexibler ist, wenn es sich um mehrere benutzerdefinierte Felder handelt.

Weiterführende Links

50 Kommentare zu „WordPress benutzerdefinerte Felder (Custom Fields)“

  1. 1
    Kommentar von Micha

    Hey Frank,
    sehr schöner Artikel!
    Ich liebe ebenfalls diese custom fields. Es ist unglaublich, was man damit anstellen kann. Die Sortierung der Baudenkmale nach Epoche ist auch mit custom fields und wp_list_pages gelöst.

  2. 2
    Kommentar von Micha

    Der Link in dem Kommentar ist etwas schlecht zu sehen ;)
    Liebe Grüße
    Micha

  3. 3
    Trackback von PIXELGANGSTER :: the daily DesignBlog
  4. 4
    Pingback von Philipp Paulus | Webdesign - Photography » Benutzerdefinierte Felder
  5. 5
    Kommentar von Jared

    sehr coole idee die benutzerdefinierten felder zu verwenden! hab die idee das erste mal bei micha gefunden und muss sagen WordPress ist mächtiger als man zuerst denkt.

    kann man so eigentlich auch ein eigenes (etwas grösseres) plugin schreiben? also was sich auf benutzerdefnierte felder bezieht? wenn ja, dann wäre da eventuell die möglichkeit gegeben zu taggen

  6. 6
    Kommentar von Frank Bültge

    @Micha: Ich denke, ein Beitrag darüber wäre toll.

    @Jared: Jeromeys Keywords war so aufgebaut, es wurden die Felder zum Taggen genutzt. Ist seit WP 2.3 aber nicht mehr notwendig und dementsprechend auch schneller in der DB.

  7. 7
    Kommentar von Micha

    @Frank, gute Idee :) Werd ich in den nächsten Tagen machen!

  8. 8
    Pingback von WordPress Pages nach meta_value sortieren - dynamicinternet
  9. 9
    Kommentar von Jakob

    Ich stimme ein, mit Custom Fields kann man so wahnsinnig viel machen, das wird dem Customizing geradezu gerecht.

    Ich habe mit einem Freund zusammen eine Website erstellt, die zu einem immens großen Teil auf den Custom Fields beruht (detaillierter zu sehen z.B. hier und besonders hier). In den letzten beiden Beispielen sind so gut wie alle Felder auf Custom Fields aufgebaut. Teilweise rufen wir die Values auch über arrays ab, was Such- und Sortierfunktionen helfen kann.

    Sehr hilfreich sind übrigens folgende Plugins: Get Gustom Field Values und Custom Field GUI

  10. 10
    Kommentar von bigh

    Super Beitrag. Hat mir viel Zeit erspart! Danke!

  11. 11
    Pingback von Ein Bild pro Post | Lionstarrs Linux Blog
  12. 12
    Pingback von Feldstudie.net .::. Mein erstes Wordpress-Plugin .::. AdSense, Plugin, Werbung, Wordpress
  13. 13
    Pingback von Serie: Blogs, die ich lese - Bueltge | Lionstarrs Linux Blog
  14. 14
    Kommentar von Michaela

    Hallo Frank,

    ich nutze das Plugin "Custom Field Images", es funktioniert auch wunderbar. Leider erscheint der Text dann unterhalb des Bildes anstatt daneben.

    Seit WordPress 2.6 kann ich auch manuell eingefügte Bilder nicht mehr bearbeiten… bei rechtem Mouseklick und “edit” öffnet sich in allen Blogs die 404 Seite.

    Auch kann ich bei diesen manuell eingefügten Bildern in den Posts den Text nicht mehr neben den Bildern einfügen, er erscheint auch hier immer unter den Bildern. Vor WordPress 2.6 klappte alles einwandfrei. Hast Du einen Tipp?

    Danke Michaela

  15. 15
    Kommentar von Frank Bültge

    @Michaela: Sorry nein, kann allerdings deinen Angaben auch nicht folgen. Weis also nicht, was und wie dein Problem aussieht. Kenne aber das Plugin auch nicht, so dass ich es nicht nachvollziehen kann.

  16. 16
    Pingback von Wordpress benutzerdefinierte Felder : Webdesign & Programmierung Halle - Leipzig
  17. 17
    Kommentar von Mark Henckel

    Sehr gut. Vielen Dank! Sehr Gute Arbeit!

  18. 18
    Kommentar von Torsten Wenzel

    Ja, die Custom Fields sind schon eine nette Sache. Wir nutzen diese auch für diverse Zusatzfeatures auf unserem Magazin.

  19. 19
    Kommentar von Aneas

    image_des_beitrags

    Der Beitrag geht irgendwie an mir vorbei... Ich kapier den einfach nicht.
    Ichhabe eine Möglichkeit gesucht, wie ich in der Übersicht der Artikel im Blog ein thumbnail einsetzten kann. Ao dass man neben der Einleitung auch etwas visuelles hat ...

    Aber das scheint dann hier nicht der richtige Beitrag zu sein ... Was kann man denn nun mit dem machen was du hier vorstellst ??

  20. 20
    Kommentar von Frank Bültge

    @Aneas: ich habe einen Beitrag in Arbeit, der genau das erklärt, da WordPress aus meiner Sicht bessere Lösungen dafür bereit hält, als die Custom Fields, kommt hoffentlich in den nächsten Tagen.

  21. 21
    Kommentar von Carsten Tauber

    Wer komfortabel mit benutzerdefinierten Feldern arbeiten möchte (eindeutige Beschreibung und z.B. Uploadfunktion mit Verknüpfung zu Custom Fields) und Plugins gegenüber nicht negativ eingestellt ist, der kann sich das WordPress Plugin Flutter einmal ansehen: http://flutter.freshout.us

    Ich hatte dazu auch mal ein Demovideo sowie deutsche Übersetzung erstellt: http://great-solution.de/wordpress/screencast-wordpress-flutter-alias-fresh-page/

    Fairerweise sei gesagt: Das Ding KANN bei intensiver Nutzung Performance fressen!

  22. 22
    Kommentar von Aneas

    Nee, das ist keine Alternative... Es werden zu viele Tabellen in der DB angelegt (mehr als WP selbst braucht) und dann funktioniert das ganze nicht einmal ohne Probleme. Die Supportseite ist offline und das Ticketsystem gibt keine Lösungen und redet nur um den heissen Brei. Ausserdem kann man ohne das Plugin die Daten nicht benutzen ... da frage ich mich, ob ein solches Plugin Sinn macht. Nein, meiner Meinung nicht!

  23. 23
    Kommentar von apaju

    Super Lösung! Vielen Dank! Ein Problem das ich jetzt nur habe ist das wenn ich mein benutzerdefiniertes Feld nicht in jedem Beitrag verwenden möchte, habe ich den leeren image tag im Code mit drin. Da muss ich mir wahrscheinlich noch ne andere Vorlage für anlegen, oder gibt es eine Möglichkeit nur den kompletten IMG Code auszugeben wenn ich mein benutzerdefiniertes Feld nutze? Grüße

  24. 24
    Kommentar von Frank Bültge

    @apaju: dazu ist ja die Abfrage; du musst prüfen, ob es das Feld Inhalt enthält; bspw. mit isset()

  25. 25
    Kommentar von apaju

    Hm, das entzieht sich meinen programmiertechnischen Kenntnissen (=0). Ich glaube ich werde mir erstmal ein zweites Template anlegen. Hast mir aber schon sehr weitergeholfen! Danke!

  26. 26
    Kommentar von René

    Hallo, ich nutze solch ein Feld, um die Quelle eines Artikels anzugeben, ich muss also nur die URL hinterlegen, und dann erscheint unter dem Post ein Quelle-Link.

    Ich kann es bisher leider nicht 100%ig nachvollziehen, aber sendet es von dieser Art Link auch einen Pingback und wenn nicht, wie bekomme ich das hin?

  27. 27
    Kommentar von Frank Bültge

    @René: nein, ein Ping wird nur von URLs aus dem Content oder den extra Feld trackbacks getriggert, kann ich auch nicht sagen, ob das geht. Eventuell gibt es einen hook, der die beiden Felder einhängt und du müsstest dein Feld ergänzen.

  28. 28
    Kommentar von René

    Hallo, kurze Frage. Ich möchte Artikel nach PLZ sortieren. Im Loop sollte demzufolge eine variable eingetragen werden der nur die ersten beiden Ziffern einer PLZ. Mein Benutzerdef. Feld heißt in diesem Fall "plz" und beinhaltet immer die vollständige Nummer.

    Mein Loop sieht so aus:

    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query('cat=72&showposts=10&orderby=modified'.'&paged='.$paged);

    Was muss ich hinzufügen das WordPress mir zum Beispiel nur den PLZ-Bereich "01" ausgiebt?

    Vielen herzlichen Dank
    René

  29. 29
    Kommentar von Frank Bültge

    @René: ja, WP kann das im Standard, direkt in meinem Beitrag zu finden, so muss ich hier nicht erklären.

  30. 30
    Kommentar von René

    Sehr schön. Besten Dank :)

  31. 31
    Kommentar von Robert Reinke

    Guter Artikel, aber ich suche eine Lösung, dafür, dass bestimmte Benutzerdefineirte Felder automatisch in jeden neuen Artikel eingefügt werden.

    Also ich drücke auf neuen Artikel erstellen und automatisch sind standardisierte Vorgaben als benutzerdefineirte Felder vorhanden.

    Habe mit meinen Suchbegriffen nichts gefunden.

    Evtl. hat ja hier jemand ne Idee.

    Danke vorab.

    RR

  32. 32
    Kommentar von Jordi

    Danke für die Tipps. Ich fange gerade erst man mit WordPress zu arbeiten. Jetzt versteh ich ein bisschen mehr, wofür diese Custom Fields da sind, bzw. was man alles damit machen kann :)

  33. 33
    Kommentar von LarsFischer

    Vielen Dank. Schön erklärt...

  34. 34
    Kommentar von ärdbaer

    Hallo,
    ich bin durch Google (mal wieder) auf deine Seite gestoßen und habe eine Frage.

    Momentan suche ich ein Widget für meine Sidebar, bei der ich die ID eines Artikels eingebe und somit dann automatisch bestimmte Custom Fields ausgelesen werden.
    Ist dir eventuell dafür auch eine Lösung bekannt?

    Kurz gesagt: Ich gebe in dem Widget eine Artikel ID ein und im Folgenden werden dann in der Sidebar die Custom Field-Werte ausgelesen und dargestellt.

    Über einen Tipp würde ich mich sehr freuen.

    Liebe Grüße,
    Björn

  35. 35
    Kommentar von Frank Bültge

    ärdbaer: nein, kein Widget dazu bekannt; ich nutze die auch wenig oder erstelle sie mir dann explizit.

  36. 36
    Kommentar von ärdbaer

    Schade, aber hätte ja sein können. :)
    Danke trotzdem für deine Antwort.

    Habe mir nun ein Widget mit einigen Eingabefeldern erstellt. Ist nicht ganz so komfortabel, aber tut es auch. Und für mein erstes Widget funktioniert es sogar recht gut. :)

  37. 37
    Kommentar von SKID

    Hi! Erstmal vielen Dank für die vielen tollen Artikel und diesen extrem hilfreichen Blog, habe schon einige Male hier Hilfe gefunden.

    Nun habe ich allerdings dasselbe Problem wie in #31 von René beschrieben, auch ich benutze die Custom Fields für Quellenangaben und Pingbacks funktionieren hier nicht. Wäre nicht so schlimm, denn man kann ja theoretisch auch einfach den Trackback Link manuell eingeben, bloß habe ich das nun einmal so versucht und der Trackback ist nicht von der Quellenseite angenommen worden. Ich vermute stark dass es im Spamfilter hängen geblieben ist, denn mit Pingbacks zum selben Blog hat es vorher nie Probleme gegeben.

    Gibt es vielleicht mittlerweile neue Erkenntnisse hierzu? Ich konnte leider bisher nichts brauchbares in der Richtung finden.

    Viele Grüße,
    Markus aka DAS_STROMKOPF.

  38. 38
    Kommentar von Christoph

    Hi,

    die Artikelreihe zu den plugins gefällt mir sehr gut. Vor allem sind die einzelnen Teile sehr gut erklärt.

    Ich habe nun ein konkretes Anwendungsbeispiel, bei dem die Custom Fields, die Schlagwörter und die Kategorien beim erstellen gefüllt werden sollen.

    Grundlage soll bei jedem Publizieren, oder Aktualisieren die Abfrage sein, ob ein Artikelbild vorhanden ist.

    Aus diesem Artikelbild sollen dann mit der Funktion iptcparse() die Felder mit Werten wie Beschreibung, Schlagworten etc. gefüllt werden.

    Wie schreibe ich in diese Felder, denn im Artikel wurde vor allem vom Auslesen gesprochen, oder?

    Würde mich über Tipps und ggf eine Anleitung freuen.

    (Nutze WP 3.01, fülle die IPTC-Felder vor dem Upload.)

    Gruß Christoph

  39. 39
    Kommentar von Frank Bültge

    @Christoph: du willst custom Fields zum Beitrag/Seite schreiben, habe ich richtig verstanden? dann schaue mal in diesem Beitrag, dort mache ich das, handelt sich immer um postmeta-Daten. Es wird der Hook wp_insert_post angesprochen und dabei werden die Daten gespeichert.

  40. 40
    Kommentar von McNet

    Hallo! Folgende Frage habe ich zu dem Thema: Kann man "Custom Fields" auch in folgender Art verwenden: Ich möchte gerne Autoren (oder vielmehr jedem Besucher der Website nach vorherigem Login) die Möglichkeit bieten, einen Artikel zu posten. Dieser Artikel soll jedoch in einer "strukturierten" Form eingegeben werden. WP hat ja standardmäßig nur ein Titel- und Text-Feld. Ich bräuchte jedoch verschiedene Felder (ähnlich wie bei einem Formular, allerdings eben nicht als Formular mit E-Mail-Versand gedacht, sondern als "Eingabemaske" für Artikel. Diese Eingabemaske solle jedoch nur für eine bestimmte Art von Artikeln gelten, andere Artikel oder Seiten sollten wieder im WP-Standard anlegbar werden. Geht dies mit den "Custom Fields"? Kann man Autoren bzw. Autoren-Gruppen bestimmte Eingabemasken vorgeben?

  41. 41
    Kommentar von Frank Bültge

    @McNet: dies würde ich über ein Plugin machen und den Editor-Bereich erweitern; schaue mal den hier oder schaue mal das Plugin TDO-Forms an.

  42. 42
    Kommentar von Christoph

    Hallo Frank,

    Danke für den Tipp, werde mal sehen, ob ich das Plugin für meinen Zweck anpassen kann.

    Gruß Christoph

  43. 43
    Kommentar von Chris

    Hallo,
    ich habe innerhalb meines WP Themes bereits mehrfach die Ausgabe von Custom Fiels hinbekommen - ist ja nicht wirklich schwer. Nun ist es mittlerweile so, dass ich einen Wert in jedem Artikel festlege, diese ausgeben will, allerdings außerhalb von meinem WordPress.

    Mit dieser Zeile gehts natürlich nicht (ID, 'CUSTOMFIELDBEZEICHNUNG', true); ?>)

    Wie gehts nun richtig?

  44. 44
    Kommentar von Frank Bültge

    @Chris: dies geht nur, wenn du im Vorfeld WP bekannt machst; dazu die wp-load.php inkluden - siehe Beitrag.

  45. 45
    Kommentar von Chris

    Danke dir. Hat nun geklappt.

  46. 46
    Kommentar von Christof

    Hallo Frank, ich habe eine Mail an dich gesendet,
    aber die Kopie dieser Mail die mich erreicht hat war leer.
    Kannst du mir kurz antworten damit ich weiß ob dich die Anfrage erreicht hat?
    Schöne Grüße

  47. 47
    Kommentar von Frank Bültge

    @Christof: worum ging es, habe ich mich gemeldet - was ich eigentlich immer tue?

  48. 48
    Kommentar von Tamara

    Vielen liben Dank für die genauen Codes und Anleitungen. Habe ewig danach gesucht, denn ich bin an gleicher Stelle verzweifelt. Aber jetzt weiß ich mehr! Tamara

  49. 49
    Kommentar von mr. choc

    Merci für den tollen Weblog,
    erst wollte ich mit dem Plugin Exec-PHP in ein paar pages arbeiten. Nun nutz ich die custom fields - dann kann man die Beiträge auch noch WordPress-like editieren (beim Benutzen von Exec-PHP muss man tinymce ja 'beschneiden'). Beste Grüße aus Hamburg

  50. 50
    Kommentar von Tilo

    Danke für den Tipp. Habe deinen Schnipsel so umgebaut, dass er für mich passt. Habe mir schön einen Funktion in meine functions.php geschrieben, die automatisch einen Downloadlink anzeigt, sobald ein benutzerdefiniertes Feld einen Wert enthält.

    Ich löse die Abfrage so: if ( !$downloadtext == "" ) {} Ich weiß, viele Wegen führen nach Rom, aber es gibt bestimmt noch einen besseren. Was meinst du?

  51. 51
    Kommentar von Lars

    Hallo Frank,
    habe schon viele deiner Tipps umsetzen können, danke dafür an dieser Stelle sehr herzlich.

    Nun werkele ich an Custom Fields rum und komm trotz diverser Suchen nicht weiter. Für ein Kundenprojekt sollen die benutzerdefinierten Felder als wiederkehrende Beschreibungs-Eckdaten für deren Angebote dienen (vergleichbar mit Immobilienexposés), gefüllt mit Daten wie Anlagentyp, Fertigstellung, Pachtkosten, Kaufpreis, etc.
    Jetzt hat aber nicht jedes Feld in jedem Beitrag Inhalt und manchmal kommen individuelle Felder hinzu, die sonst noch nie aufgetaucht sind.

    Wie bekomme ich es hin, dass sowohl im Backend (für den ausfüllenden User) als auch im Frontend die Felder immer in der gleichen Reihenfolge angezeigt werden, wie beim Erstellen des Posts im Backend ausgewählt?

    Meine Idee war eine mögliche Sortierung durch die ID des Meta-Value Feldes, aber einen Code dafür hab ich nicht finden oder selbst schreiben können.

    Hast du einen Tipp hierfür?

    P.S. Mit Plugins wie More Fields oder Custom Field Suite hab ich auch nicht genau das erreichen können.

  52. 52
    Kommentar von Frank Bültge

    @Lars: ja, man kann über die Custom Fields filtern und sortieren;: schaue mal im Codex zu meta_query

  53. 53
    Kommentar von Lars

    Hallo Frank, danke für die schnelle Antwort.

    Ich glaube allerdings, dass dort nicht das zu finden ist, was ich suche. Nicht das Filtern von Posts über die Custom Fields, sondern die Steuerung der Ausgabe-Reihenfolge der Custom Fields selbst innerhalb eines Posts.

    So was wie mein Versuch eines Eigenbaus:
    get_post_custom_keys('orderby=meta_id')
    was aber leider nicht geht, bzw. keinerlei Effekt zeigt. Gibt's sowas in der Art?

    In der Datenbank sind die Einträge in der richtigen Reihenfolge gespeichert (mit aufsteigender meta_id) und im Backend werden sie über More Fields auch in der richtigen Reihenfolge angezeigt. Nur im Frontend sortiert er wahhlos um, keine erkennbare Sortierung, weder alphanumerisch, noch nach Value, etc.

    P.S. Projekt läuft unter WordPress 3.2.1

  54. 54
    Kommentar von Frank Bültge

    @Lars: ja, auch das geht, geht schaue mal in WP_Query und setze einen Filter auf den Query

  55. 55
    Kommentar von Lars

    Hallo Frank, ich habe es (mit meinem Fähigkeitenstand) nicht hinbekommen, eine Lösung über die Infos aus der WP_Query zu generieren. Da fehlt mir komplett der Ansatz.

    Ich habe nun eine Pseudolösung für das Frontend über eine SQL-Selektabfrage folgendermaßen hinbekommen:

    $postid = get_the_ID();
    $metaforprojects = $wpdb->get_results("
    SELECT *
    FROM $wpdb->postmeta
    WHERE post_id = $postid
    ORDER BY meta_id
    ");

    echo "\n";
    foreach ( $metaforprojects as $metaforproject)
    {
    $keyt = trim($metaforproject->meta_key);
    if ( '_' == $keyt{0} )
    continue;
    echo '';
    echo $metaforproject->meta_key;
    echo '';
    echo $metaforproject->meta_value;
    echo '';

    }
    echo "\n";

    Somit bekomme ich im Frontend die Reihenfolge der Customfields nach ID (=Reihenfolge ihrer Eingabe) korrekt angezeigt.

    Bleiben weiterhin leider zwei Probleme:
    1. Im Backend sortiert WP die benutzerdefinierten Felder (ohne Nutzung eines Custom Field Plugins) alphabetisch nach KEY, nicht nach deren ursprünglicher Eingabereihenfolge.
    2. Wenn man nachträglich Felder hinzufügt, werden diese im Frontend als unterstes angezeigt und im Backend alphabetisch zwischensortiert.
    Beides sehr unschön und für den Autor im Backend äußerst unübersichtlich.

    Ich hatte noch Ideen, ggf. den post_meta table um ein Feld erweitern, welches eine Sortierreihenfolge speichert, die sowohl im Frontend, als auch im Backend die Anzeigenreihenfolge steuert.

    Aber dafür ist mein Latein wohl am Ende - falls WP überhaupt solche Möglichkeiten bietet.
    Danke trotzdem.

  56. 56
    Kommentar von Frank Bültge

    @Lars: der Query kann aber sortieren, nach verschiedenen Aspekten, z.b. orderby=meta_value nach dem Wert des benutzerdef. Feldes. Folgender Query query_posts($query_string . '&meta_key=size&orderby=meta_value'); liest alle Werte zum benutzerdef. Feld size aus und sortiert nach dem Wert zu diesem Feld.

  57. 57
    Kommentar von Rico

    Hallo, ich habe seit ein paar Tagen das Problem, dass in meinen automatischen Posts per RSS die benutzerdefinierten Felder für Thumbnail bspw. nicht mehr angelegt werden und somit in der index.php im Template (Übersicht der Seite) ich kein Thumbnail mehr anzeigen kann.

    Ich kann prüfen, ob ein Plugin dafür zuständig ist, dass ich in den letzten 3 Tagen installiert habe. Weiß jemand auf Anhieb wie das passieren kann. An dem Plugin, welches die Posts anlegt sowie an der functions.php wurde nichts geändert.

Kommentare sind geschlossen.