it-swarm.com.de

Möglich, zwei benutzerdefinierte Beitragstypen zu kombinieren?

Ich habe eine Dienstplanseite, die zwei Abschnitte enthält. Der erste Abschnitt enthält den Künstler mit seinen Bildern, Kurzbiografien und Website-Links. und der zweite Abschnitt enthält die kombinierten Videos aller Künstler in der Liste.

Ähnlich wie dies:

roster

Normalerweise würde ich zwei separate Beitragstypen erstellen. eine für 'artist' und eine für 'artist videos', aber ich habe mich gefragt, ob es eine Möglichkeit gibt, die beiden irgendwie zu kombinieren. Im Admin-Bereich würde es ungefähr so ​​aussehen:

admin

Wie würde ich das tun, wenn möglich? Oder überdenke ich das (wie so oft) und gibt es einen einfacheren Weg?

3
J82

Es würde einige benutzerdefinierte Codierungen erfordern, aber es gibt eine Möglichkeit, beide benutzerdefinierten Beitragstypen beizubehalten und den Künstler- und den Videoposttyp miteinander zu verknüpfen. Dabei wird die post_parent -Eigenschaft eines Posts verwendet, um sie hierarchisch zu gestalten, ohne die beiden zu kombinieren.

Ich verwende derzeit den folgenden Code, um einen Beitragstyp an einen anderen anzuhängen:

function parent_select ($parent_type) {
    global $post;
    global $wpdb;
    $query = "SELECT ID, post_title FROM $wpdb->posts WHERE post_type = '{$parent_type}' AND post_status = 'publish' ORDER BY post_title";
    $results = $wpdb->get_results($query, OBJECT);
    echo '<select name="parent_id" id="parent_id">';
    echo '<option value = "">None</option>';
    foreach ($results as $r) {
        echo '<option value="', $r->ID, '"', $r->ID == $post->post_parent ? ' selected="selected"' : '', '>', $r->post_title, '</option>';
    }
    echo '</select>';
}

Fügen Sie dies zu einer Metabox auf Ihren Videobearbeitungsseiten hinzu und übergeben Sie Ihren Interpreten als übergeordneten Typ. Es wird ein Dropdown-Feld erstellt, in dem alle Künstler aufgelistet sind, die Sie haben. Wählen Sie einfach einen aus und aktualisieren Sie ihn. In diesem Video wird der von Ihnen als übergeordneter Künstler ausgewählte Künstler angezeigt. Danach können Sie eine benutzerdefinierte Vorlage erstellen, um alle Videos für einen bestimmten Interpreten abzurufen.

1
Manny Fleurmond

Ich weiß nicht genau, ob ich Sie richtig verstehe, aber Sie könnten einen hierarchischen Beitragstyp erstellen und dann entweder nach Hierarchieebene oder nach einem von Ihnen hinzugefügten Metawert diversifizieren.

Bearbeiten: Zum Umformulieren erstellen Sie einfach sozusagen einen "ArtistOrVideo" -Postentyp und machen ihn hierarchisch. Es repräsentiert beides. Die erste Ebene (post_parent = 0), die Sie immer als Künstler behandeln. Die zweite Ebene (post_parent verweist auf einen Beitrag mit post_parent = 0), den Sie immer als Video behandeln. Sie können dann auch in Ihrem Metabox-Callback darauf reagieren und die Artist-Metabox für post_parent = 0 Posts und die Video-Metabox für die anderen erstellen. Ich bin mir ziemlich sicher, dass Sie dies durch die gesamte Anwendung führen können.

Die kanonische Alternative lautet jedoch: Können Sie stattdessen keine 'Künstler'-Taxonomie erstellen?

0
wyrfel