Anmelden
Loslegen

Easy Digital Downloads Dokumentation

Dokumentation, Referenzmaterialien und Tutorials für Easy Digital Downloads 

Abfragen von Produkten in der Datenbank

Wenn Sie um Easy Digital Downloads herum entwickeln, stellen Sie möglicherweise fest, dass Sie die Datenbank nach Produktdaten abfragen müssen. Dieses Dokument zeigt mehrere Beispiele, wie Sie dies richtig tun können.

Ein einzelnes Produkt abrufen

Der beste Weg, um Informationen über ein einzelnes Produkt zu erhalten, ist die Verwendung der EDD_Download-Klasse. Sie akzeptiert eine
download_id und gibt ein Objekt mit Informationen über den Download zurück. Beispiel:

$download = new EDD_Download( 109 );

Dies würde ein Objekt wie dieses zurückgeben:

EDD_Download Object
(
    [ID] => 109
    [price:EDD_Download:private] => 
    [prices:EDD_Download:private] => 
    [files:EDD_Download:private] => 
    [file_download_limit:EDD_Download:private] => 
    [type:EDD_Download:private] => 
    [bundled_downloads:EDD_Download:private] => 
    [sales:EDD_Download:private] => 
    [earnings:EDD_Download:private] => 
    [notes:EDD_Download:private] => 
    [sku:EDD_Download:private] => 
    [button_behavior:EDD_Download:private] => 
    [post_author] => 2
    [post_date] => 2016-03-22 13:30:29
    [post_date_gmt] => 2016-03-22 13:30:29
    [post_content] => Buy my mp3!
    [post_title] => My MP3
    [post_excerpt] => 
    [post_status] => publish
    [comment_status] => closed
    [ping_status] => closed
    [post_password] => 
    [post_name] => my-mp3
    [to_ping] => 
    [pinged] => 
    [post_modified] => 2016-03-22 13:30:29
    [post_modified_gmt] => 2016-03-22 13:30:29
    [post_content_filtered] => 
    [post_parent] => 0
    [guid] => https://edd.dev/?post_type=download&p=109
    [menu_order] => 0
    [post_mime_type] => 
    [comment_count] => 0
    [filter] => raw
    [post_type] => download
)

Sobald Sie das Objekt haben, gibt es eine Vielzahl von Methoden, die darauf ausgeführt werden können, um Informationen wie Preis, Variationen usw. zu erhalten.
Vollständige Dokumentation für EDD_Download hier.

Mehrere Produkte abrufen

Downloads sind ein benutzerdefinierter Inhaltstyp von WordPress, daher ist es möglich, die IDs mehrerer Downloads mit
get_posts() abzurufen. Wenn Sie den Parameter „fields“ richtig angeben, ruft get_posts nur die IDs ab, und die Abfrage ist viel schneller. Sie müssen auch mindestens download für den post_type angeben. Beispiel:

    $args = array(
        'fields'    => 'ids',
        'post_type' => 'download',
    );

    $downloads = get_posts( $args );

Sie können jede beliebige Option in
get_posts() verwenden, um Ihre Abfrage einzugrenzen.
Vollständige Dokumentation für get_posts() hier.

Eine zusätzliche Option, die nicht in der Dokumentation für
get_posts() zu finden ist, heißt no_found_rows(). Diese entfernt einige Daten, die für die Paginierung erforderlich sind, beschleunigt aber Ihre Abfrage dramatisch. Wenn Sie Paginierung benötigen, verwenden Sie diese Option nicht. Wenn Sie keine Paginierung benötigen, würde es so aussehen:

$args = array(
	'fields'        => 'ids',
        'post_type'     => 'download',
	'no_found_rows' => true,
);

$downloads = get_posts( $args );

Die obige Abfrage gibt ein Array von download_ids wie dieses zurück:

Array
(
    [0] => 109
    [1] => 82
    [2] => 79
    [3] => 61
    [4] => 42
)

Arbeiten mit mehreren Produkten

Sobald Sie ein Array von download_ids haben, können Sie einfach über das Array iterieren und EDD_Download-Objekte erstellen, wie hier gezeigt:

foreach ( $downloads as $key => $download_id ) {
	$download = new EDD_Download( $download_id );
	// do whatever you wish with each object
}
War dieser Artikel hilfreich?

Verkaufen Sie noch heute!

Schließen Sie sich über 50.000 klugen Shop-Besitzern an und nutzen Sie die einfachste Methode, um digitale Produkte mit WordPress zu verkaufen.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]