Custom Post Type: Mehrere Angaben im Template über Schleife ausgeben?

  • [size=10][FONT=arial][COLOR=#333333]Wie macht man das: Habe einen Custom Post Type und im Backend soll es für den Wordpress-Admin die Möglichkeit geben, zum Bereich "Hobbies" eine unbegrenzte (!) Anzahl an textlichen Angaben zu machen. Die Hobbies sollen dann in der Template-Datei mit einer Schleife ausgegeben werden, und zwar als <ul>, mit jeder Angabe (also jedem Hobby) jeweils als <li>.[/COLOR]

    [COLOR=#333333]<ul>[/COLOR]
    [COLOR=#333333]<li>HOBBY 1</li>[/COLOR]
    [COLOR=#333333]<li>HOBBY 2</li>[/COLOR][COLOR=#333333]
    <li>HOBBY 3</li>
    ...
    </ul>

    Ich benutze das ACF-Plugin, habe eine solche Funktion allerdings nicht gefunden. Hat jemand Tipps? Bin auch offen dafür, das händisch mit PHP-Code zu machen. Ich weiß bereits, wie man grundsätzlich Custom Post Fields in der functions.php anlegt, habe aber keine Ahnung, wie man am besten das von mir beschriebene Problem löst.[/COLOR][/FONT][/SIZE]

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich würde es mit einer Kombi von PHP und Javascript machen...

    Über Javascript würde ich wenn auf ein + button geklickt wurde ein weiteres Input feld einfügen lassen...

    Benennung der felder: hobby[]

    dadurch erstelle ich ein array von vorherein.

    Speicher würde ich einfach das ganze array so wies ankommt.

    Im Template dann per schleife ausgeben

  • Danke für deine Anregung. Ich habe da mal was ausgearbeitet, komme aber nicht weiter.

    Im Frontend stelle ich mir folgendes vor:

    Für das Javascript habe ich mir folgendes überlegt:

    Code
    $(document).ready(function() {
    var i = 1;            
    $('#add_entry').click(function() {
       i++;
    $('#space_further_entries').append('<label for="entry_' + i + '">Entry:</label><input type="text" id="entry_' + i + '">' + 
    '<label for="link_' + i + '">Link (optional):</label><input type="text" id="link_' + i + '">');           
       })        
    });

    Wichtig: Der User soll die Möglichkeit haben, zu jedem Eintrag OPTIONAL noch in einem separaten Input-Feld einen dazugehörigen Link anzugeben.

    Ich komme hier nicht weiter. Hast du eine Idee, wie der nachfolgende Code aussehen müsste?

    Einmal editiert, zuletzt von karicula (18. März 2014 um 16:40)

  • wenn es NUR um ein Verzeichnis von Hobby geht, dann ist mit Wordpress das einfachste eine Custom Post Type anzulegen, dort die Hobbies eintragen und diese dann als Liste anzuzeigen. Für solche zwecke (Post Type Anlegen, Daten ausgeben usw) gibt es Plugins oder man Programmiert selbst ein Plugin, in meiner Werkstatt gibt es einen Prototyp für solch Plugin wo man einfach Gewünschten Post Type anlegen kann, dort Daten eingeben und dann definiert man mit diesen Daten gewünschte Ausgabelisten/tabellen, Boxen oder Portfolios, auch könnte man Frontend/backend formular usw definieren.

    Wordpress weil es spass macht, besonders beim WordPress Meetup in Linz

  • Die User sollen das also im Frontend eingeben.

    Du kannst dort ein Formular ausgeben lassen das dann mit deinem JS Dynamisch erweitert wird wenn gewüscht.

    Dein JS funktioniert ja schon so.

    Zur verdeutlicheung würde ich gerne noch wissen ob der ort an denen die User die daten eingeben ein Beitrag ist den Du geschrieben hast, eine gesonderte Seite ist oder obs für ein Profil ist.

    Können mehrere User dort Ihre Hobbys eingeben bezogen auf den Selben inhalt?

    Sprich sag uns mal nen bissl genauer was wer wo eingeben darf bzw soll.

    mfg

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!