wake-up-neo.com

Wie können die Benutzer eine "Wiedergabeliste" von Beiträgen erstellen?

Ich habe eine Audio-Website und möchte Benutzern erlauben, benutzerdefinierte Wiedergabelisten aus Beiträgen zu erstellen.

Ich verwende Beiträge als Alben, die die Tracks enthalten. Ich habe darüber nachgedacht, einen benutzerdefinierten Beitragstyp zu erstellen und damit eine vom Benutzer ausgewählte Wiedergabeliste zu speichern, die auf den Standardbeiträgen basiert.

Ist dies eine gute Idee oder gibt es eine bessere Möglichkeit, Benutzern das Erstellen einer benutzerdefinierten Wiedergabeliste zu ermöglichen?.

Anmerkungen:

  • Ich habe mir dieses Tutorial angesehen. Es ist das, wonach ich suche, aber für einzelne Tracks in der Post.
  • Das Audio wird in Arrays in benutzerdefinierten Feldern gespeichert, z. B. custom_audio{ audio=>"name", url=>"www.text.com"}
3
user5601

Sie suchen nach einer Beziehung zwischen einem benutzerdefinierten Beitragstyp und dem Beitragstyp.

Wenn Ihre Benutzer über Bearbeitungsfunktionen für das CPT verfügen, ist es eine gute Idee, die CPTs zu verwenden, um die Informationen zu den Alben zu speichern (normale Posts).

Die einfachste/schnellste Lösung ist die Verwendung eines Plugins.

Posts to Posts ist exklusiv dafür gedacht (mein Schwerpunkt):

Mit diesem Plugin können Sie viele-zu-viele-Beziehungen zwischen Posts aller Art erstellen: Posts, Seiten, benutzerdefinierte Posts usw. Einige Beispiele für Anwendungsfälle:

  • manuell kuratierte Listen verwandter Beiträge
  • beitragsserie
  • produkte, die mit Einzelhändlern verbunden sind
  • usw.

Darüber hinaus können Sie viele-zu-viele-Beziehungen zwischen Posts und Benutzern erstellen. Sie könnten also auch Folgendes implementieren:

  • Lieblingsposts von Usern
  • mehrere Autoren pro Beitrag
  • usw.

Und eine andere ist Erweiterte benutzerdefinierte Felder . Da ich ein regelmäßiger Benutzer bin, kann ich seine Verwendung für diesen Fall veranschaulichen.

Erstelle eine Feldgruppe mit der folgenden Konfiguration:

 advanced-custom-fields configuration 
klicken um zu vergrößern

Das ergibt folgendes:

 advanced-custom-fields result 

Der Schnappschuss des Ergebnisses hat allerdings einen kleinen Trick. Die normale Box, die ACF generiert, hat eine sehr kurze Höhe.
Um die Höhe der Box zu ändern, verwenden Sie den folgenden Code in der functions.php-Datei Ihres Themas oder ein benutzerdefiniertes Plugin , das dieses Thema unabhängig macht.

/** 
 * ADJUST THE VALUE OF 'playlists' TO THE CUSTOM POST TYPE SLUG
 * ADJUST THE VALUE OF #acf-album_posts TO MATCH THE FIELD NAME 
 */ 
add_action('admin_head-post.php', 'wpse_73351_admin_head');
add_action('admin_head-post-new.php', 'wpse_73351_admin_head');

function wpse_73351_admin_head()
{
    global $post;

    // Not our post_type, do nothing
    if ( 'playlists' != $post->post_type )
        return;     
    ?>
        <style>
            #acf-album_posts select {
                height: 400px !important;
            }
        </style>
    <?php
}

Zum Schluss , lies die Dokumentation des Plugins , um zu sehen, wie du den Wert des album_posts Feldes erfährst und diese funky Musik abspielst :)

1
brasofilo